Ошибка «[42S22] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверное имя столбца») при попытке вставить несколько строк в Python - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь вставить несколько строк из фрейма данных в SQL Server с кодом ниже. Но я получаю сообщение об ошибке:

[Драйвер ODBC SQL Server] [SQL Server] Недопустимое имя столбца «Инвестиции». ")

Таблица 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])

Значения в 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 ')]

1 Ответ

1 голос
/ 27 марта 2019

похоже, что вы получили ошибку sql. Прежде всего, вы можете распечатать sql и проверить его.

...