通过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)')
如果我直接输入值而不是变量,代码就可以工作。
你能给我个建议吗?
非常感谢。
您需要使用占位符(?
)并执行类似操作,然后将值作为参数传递:
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()