使用python从CSV和文本文件插入SQL Server表

问题描述

我正在尝试将 CSV 文件和文本文件中的数据插入 sql SERVER SSMS 18.7 版。下面是我的代码

import pyodbc
import csv
conn = pyodbc.connect('Driver={sql Server};'
                      'Server=????;'
                      'Database=???;'
                      'Trusted_Connection=yes;')

cursor = conn.cursor()

with open('C:/python/names.txt','r') as f:
    reader = csv.reader(f)
    for row in reader:
        cursor.execute("""INSERT INTO TESTPYTHON (id,name) VALUES(%s,%s)""",row)

conn.commit()
cursor.close()
print ("Done")

运行查询时出现以下错误

 cursor.execute("""INSERT INTO TESTPYTHON (id,row)
pyodbc.ProgrammingError: ('The sql contains 0 parameter markers,but 1 parameters were supplied','HY000')

Process finished with exit code 1

如果我使用文本文件,有人可以帮助我们吗?我应该如何分隔值?

解决方法

也许可以尝试使用卸载运算符,例如 cursor.execute("""INSERT INTO TESTPYTHON (id,name) VALUES(%s,%s)""",*row)