使用python中的sqlalchemy和pandas构建一个带有可变长度列表的SQL查询

时间:2016-11-04 20:54:56

标签: python sql pandas sqlalchemy

我想构建一个带有QPushButton *btn = new QPushButton("Hello, people!"); QGraphicsProxyWidget *wdgItem = scene->addWidget(btn); setNewPos(wdgItem, view->mapToScene(0,0)); // There's scenePos can have any coords 运算符的SQL语句,该运算符适用于任意长度的列表。我正在使用python,pandas和sqlalchemy。

例如,如果我要执行的查询是

IN

我试过了:

SELECT * FROM users WHERE age IN (25, 26, 27)"

但这会导致错误。如何正确构造查询?我希望该解决方案适用于import pandas as pd from sqlalchemy.sql import text ages = (25, 26, 27) query = text("SELECT * FROM users WHERE age IN (:x)") df = pd.read_sql_query(query, conn, params={"x":ages}) 运算符的列表中只有一个值,即IN

2 个答案:

答案 0 :(得分:1)

一种解决方案是使用python的字符串ages = tuple(25)方法。

示例如下:

join()

答案 1 :(得分:1)

考虑使用占位符的动态SQL字符串构建和使用字典理解参数的动态字典构建。下面假设您的RDMS是SQLite,其冒号名为parameters:

VLOOKUP