在Windows 7上运行Python 3.7.2 32位并使用PYODBC软件包4.0.25-CP27 32BIT
我尝试了多种通过参数并继续获取上述错误的方式:
typeError :('params必须在列表,元组或行','hy000'中)
我的InputFile是一个包含以下内容的txt文件:
TEST ,EU ,Totals , 30, 0.61, 0.00000000,GOLD ,01/03/2019,
TEST ,EU ,SubTotals , 40, 0.63, 0.00000000,GOLD ,01/03/2019,
一些版本:
qry = """INSERT INTO newtable ([Col1], [Col2], [Col3], [Col4], [Col5], [Col6], [Col7], [Col8]) VALUES (?,?,?,?,?,?,?,?);"""
with open (inputfile, "r") as afile:
for line in afile:
params = tuple(line.split(','))
cursor.executemany(qry, params)
conn.commit()
对于参数值也尝试了:
params = list(line.split(','))
还尝试将所有值插入列表中:
params = list(line.split(","))
a = params[0]
b = params[1]
c = params[2]
d = params[3]
e = params[4]
f = params[5]
g = params[6]
h = params[7]
dbparams = [a,b,c,d,e,f,g,h]
cursor.executemany(qry,dbparams)
cursor.execute(qry,params [0:8])工作
执行人员正在造成错误 - 参数必须在列表,元组或行
中没有[0:8]列表在列表末尾通过a' n'引起错误 - SQL包含8个参数标记,但提供了9个参数
获胜的答案是:
cursor.execute(qry,params [0:8])工作
感谢@gordthompson的提示