提问者:小点点

导入数据到MS ACCESS通过python错误


通过xlrd,我读取excel文件中几个单元格的值。我想通过将这些值分配给一些变量,使用附加的代码将这些值导入MS Access数据库。如果我使用变量来填充表,例如a=2,b=4,那么代码就不起作用。

代码:

导入pyodbc

conn=pyodbc。连接(r'Driver={Microsoft Access驱动程序(*.mdb,*.accdb)};DBQ=path;')游标=连接游标()

光标。执行(''插入表(字段1,字段2)值(a,b)'')连接提交()

我得到了以下错误:错误:('07002','[07002][Microsoft][ODBC Microsoft Access Driver]参数太少。预期2.(-3010)(SQLExecDirectW)')

如果我直接输入值而不是变量,代码就可以工作。

你能给我个建议吗?

非常感谢。


共1个答案

匿名用户

您需要使用占位符()并执行类似操作,然后将值作为参数传递:

import pyodbc
conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path;')
cursor = conn.cursor()
a=2 #some value
b=3 #other value
cursor.execute('INSERT INTO table (field1, field2) VALUES(?, ?)',(a,b))
conn.commit()