Использование списка в качестве параметров в операторе SQL с использованием Python - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть список l= ['A','B','C'...] с динамическим числом элементов c. Я хочу выполнить приведенный ниже оператор, используя SQL через Python.

sqlstr = "select * from [table] where ID in (%s) and column2=?" 
sqlstr = sqlstr % ','.join('?' * len(l))

Однако, когда я пытаюсь запустить

pd.read_sql(sqlstr,conn,params=[l,parameter2])

Возникает ошибка

SQL содержит 4 маркера параметров, но поставлено 2 параметра

Я понимаю, почему возникает ошибка, поскольку список разбирается как 1 отдельный параметр, а не по отдельности. Но я не знаю, как это исправить.

...