我是一个很新的编码而且卡住了。我通过api提取报告,它给了我一个.csv文件。我想将它粘贴到SQL数据库中,但遇到了一些麻烦。
我目前的代码如下:
reader是已解码的csv文件。
columns = next(reader,None)
query = "INSERT INTO table({0}) VALUES ({1})"
query = query.format(','.join(columns),','.join('?'*len(columns)))
cursor = cnxn.cursor()
cursor.execute(query, columns)
for data in reader:
cursor.execute(query, data)
cursor.commit()
当我运行代码时,我收到此错误:
pyodbc.ProgrammingError:(' 42000'," [42000] [Microsoft] [ODBC Driver 13 for SQL Server] [SQL Server]关键字' Group'附近的语法不正确。 (156)(SQLExecDirectW)")
我认为问题在于我的专栏是:
Date | Advertiser | Campaign | Ad Group | etc.
似乎SQL可能正在识别" Group" "广告组"作为变量。
有什么想法吗?谢谢。
答案 0 :(得分:3)
如@ZLK的评论中所述,您需要将列名括在方括号中。这样就可以了:
query = query.format('[{0}]'.format('], ['.join(columns)),','.join('?'*len(columns)))