将列表与其他变量参数一起添加到Pandas read_sql_query中的参数

时间:2020-03-16 14:30:09

标签: python mysql sql pandas read-sql

我一直在尝试使用不同的输入变量来运行查询,其中一个是列表。

这些变量看起来像这样:

age = 25
male = 'x'
value1 = 1
list = [1,2,3,4,..]

该列表的长度有所不同。

我将其传递给查询:

query = """SELECT * FROM table 
    WHERE (Gender_male = %(male)s 
    AND Age_min <= %(age)s AND Age_max >= %(age)s
    AND value1 IN ({list})
    """

df = pd.read_sql(query, con = connection, params= {"male":male, "age":age, "list":list}

这给了我以下错误:

处理pyformat参数失败; Python“列表”不能转换为MySQL类型

我还在Binding list to params in Pandas read_sql_query with other params中尝试了建议的解决方案 但这似乎不起作用,因为查询中存在变量。

有没有办法保留变量并检查值是否在列表中?

我正在使用mysql.connector

非常感谢您!

0 个答案:

没有答案