Lista de ligação a parâmetros no Pandas read_sql_query com outros parâmetros
Eu tenho tentado testar vários métodos para executar meu código. Para começar, eu tenho esta lista:
member_list = [111,222,333,444,555,...]
Eu tentei passar para esta consulta:
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])
No entanto, recebo um erro que diz:
'Tipo de parâmetro inválido. param-index = 2 param-type = list ',' HY105 '
Então olhei em volta e tentei usar strings formatadas:
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)])
Agora, recebo o erro:
'O SQL contém marcadores de parâmetro 18622, mas foram fornecidos 3 parâmetros', 'HY000'
porque procura preencher todos os?
espaços reservados na cadeia de caracteres formatada.
Portanto, em última análise, existe uma maneira de avaliar de alguma forma a lista e passar cada elemento individual para vincular ao?
ou existe outro método que eu poderia usar para fazer isso funcionar?
Btw, eu estou usandopyodbc
como meu conector.
Desde já, obrigado!