问题描述
我正在尝试将 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)