Список привязки к параметрам в Pandas read_sql_query с другими параметрами
Я пытался протестировать различные методы, чтобы заставить мой код работать. Для начала у меня есть этот список:
member_list = [111,222,333,444,555,...]
Я попытался передать его в этот запрос:
query = pd.read_sql_query(
"""
select member id
,yearmonth
from queried_table
where yearmonth between ? and ?
and member_id in ?
""", db2conn, params = [201601, 201603, member_list])
Однако я получаю сообщение об ошибке:
'Неверный тип параметра. param-index = 2 param-type = list ',' HY105 '
Поэтому я посмотрел вокруг и попытался использовать отформатированные строки:
query = pd.read_sql_query(
"""
select member id
,yearmonth
from queried_table
where yearmonth between ? and ?
and member_id in (%s)
""" % ','.join(['?']*len(member_list), db2conn, params = [201601, 201603, tuple(member_list)])
Теперь я получаю ошибку:
«SQL содержит 18622 маркеров параметров, но было предоставлено 3 параметра», «HY000»
потому что он хочет заполнить все?
заполнители в отформатированной строке.
Итак, в конечном счете, есть ли способ как-то оценить список и передать каждый отдельный элемент для привязки к?
или есть другой метод, который я мог бы использовать, чтобы заставить это работать?
Кстати, я используюpyodbc
как мой разъем.
Заранее спасибо!