【发布时间】:2020-09-27 10:59:22
【问题描述】:
我使用 PYODBC 根据 pandas 数据框列的值多次查询 SQL DB(如下所示的值列表,因为我使用 ToList() 函数将列转换为列表。
#the connection string
cnxn = pyodbc.connect(driver='{SQL Server}', server = 'NameOfTheServer',autocommit = True,uid ='name',pwd ='password')
cursor = cnxn.cursor()
params = ['3122145', '523532236']
sql = ("""
SELECT SO.column
FROM table AS SO
WHERE SO.column = ?
""")
cursor.executemany(sql, params)
row = cursor.fetchone()
即使我使用的是列表,executemany 函数也会引发错误: TypeError: ('Params must be in a list, tuple, or Row', 'HY000')
【问题讨论】:
-
戈德-汤普森,是的。这相当于在 WHERE 子句中使用 IN 关键字。
标签: pyodbc