尝试在 python 中插入多行时出现错误“[42S22] [Microsoft][ODBC SQL 服务器驱动程序][SQL 服务器] 无效列名”
Error "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name") while trying to insert multiple rows in python
我正在尝试使用以下代码将数据框中的多行插入到 SQL 服务器。但我收到错误消息:
[ODBC SQL Server Driver][SQL Server]Invalid column name 'Investment'.")
SQL table 有三列 - Investment、variable、value1。
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])
new_list 中的值:
[('2000-01-31 00:00:00', 'VTL US Equity', '4.2572'), ('2000-02-29 00:00:00', 'VTL US Equity', '4.2572'), ('2000-03-31 00:00:00', 'VTL US Equity', '4.4384'), ('2000-04-30 00:00:00', 'VTL US Equity', '4.937'), ('2000-05-31 00:00:00', 'VTL US Equity', '4.6218')]
您似乎遇到了错误 sql。
首先,您可以打印 sql 并检查它。
当我的查询中有一些无效的列名或我的模型中有一些不正确的字段映射时,我遇到了这个错误
我正在尝试使用以下代码将数据框中的多行插入到 SQL 服务器。但我收到错误消息:
[ODBC SQL Server Driver][SQL Server]Invalid column name 'Investment'.")
SQL table 有三列 - Investment、variable、value1。
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])
new_list 中的值:
[('2000-01-31 00:00:00', 'VTL US Equity', '4.2572'), ('2000-02-29 00:00:00', 'VTL US Equity', '4.2572'), ('2000-03-31 00:00:00', 'VTL US Equity', '4.4384'), ('2000-04-30 00:00:00', 'VTL US Equity', '4.937'), ('2000-05-31 00:00:00', 'VTL US Equity', '4.6218')]
您似乎遇到了错误 sql。 首先,您可以打印 sql 并检查它。
当我的查询中有一些无效的列名或我的模型中有一些不正确的字段映射时,我遇到了这个错误