Используя код, найденный на этом сайте , мы можем загрузить данные из CSV в MSSQL, где заголовки столбца = имя или имя_первой. Однако, если заголовок col содержит дефис, такой как имя-имя, произойдет сбой.
Часть кода:
with open(yourcsv) as csvfile:
csvFile = csv.reader(csvfile, delimiter=',')
header = next(csvFile)
headers = map((lambda x: x.strip()), header)
insert = 'INSERT INTO {} ('.format(table) + ', '.join(headers) + ') VALUES '
for row in csvFile:
values = map((lambda x: "'"+x.strip()+"'"), row)
cursor.execute(insert +'('+ ', '.join(values) +');')
conn.commit() #must commit unless your sql database auto-commits
Ошибка = cursor.execute (insert + '(' + ',' .join (values) + ');')
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft] [Драйвер ODBC SQL Server] [SQL Server] Неверный синтаксис рядом с '-'. (102) (SQLExecDirectW)")
Нам нужно иметь возможность использовать файлы, которые могут содержать дефис в имени столбца.