Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“错误”;[42S22][Microsoft][ODBC SQL Server驱动程序][SQL Server]列名无效“尝试在python中插入多行时_Python_Sql Server_Pyodbc - Fatal编程技术网

“错误”;[42S22][Microsoft][ODBC SQL Server驱动程序][SQL Server]列名无效“尝试在python中插入多行时

“错误”;[42S22][Microsoft][ODBC SQL Server驱动程序][SQL Server]列名无效“尝试在python中插入多行时,python,sql-server,pyodbc,Python,Sql Server,Pyodbc,我正在尝试使用以下代码将多行从dataframe插入SQL Server。但我收到了错误信息: [ODBC SQL Server驱动程序][SQL Server]列名“Investment.”无效) SQL表有三列-投资、变量、值1 df = pd.read_excel(path, sheet_name='final') print ("Column headings:") df = df.melt(id_vars = 'Investment') print(df) for r in df.co

我正在尝试使用以下代码将多行从dataframe插入SQL Server。但我收到了错误信息:

[ODBC SQL Server驱动程序][SQL Server]列名“Investment.”无效)

SQL表有三列-投资、变量、值1

df = pd.read_excel(path, sheet_name='final')
print ("Column headings:")
df = df.melt(id_vars = 'Investment')
print(df)
for r in df.columns.values:
    df[r] = df[r].map (str)
    df[r] = df[r].map (str.strip)
tuples = [tuple (x) for x in df.values]
new_list = chunks(tuples, 1000)
query = """insert into Equity_Indicators(Investment, variable, value1) values (?, ?, ?)"""
cursor.executemany (query, new_list[0])
新列表中的值:

[('2000-01-31 00:00:00','VTL美国股票','4.2572'),('2000-02-29 00:00:00','VTL美国股票','4.2572'),('2000-03-31 00:00:00','VTL美国股票','4.4384'),('2000-04-30 00:00:00','VTL美国股票','4.937'),('2000-05-31 00:00','VTL美国股票','4.6218')]


似乎您在sql中遇到了一个错误。
首先,您可以打印sql并检查它。

当我的查询中有一些无效的列名或模型中有一些不正确的字段映射时,我遇到了这个错误

我对查询进行了更改
插入权益指标值(?,?)
。现在它工作正常。