任意の長さのリストで動作するIN
演算子を持つSQL文を作成したいと思います。私はpython、pandas、およびsqlalchemyを使って作業しています。Pythonでsqlalchemyとpandasを使って可変長のリストを持つSQLクエリを作成する
は例えば、私が実行したい問い合わせは、私が試してみました
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
演算子のリストに値が1つしかない場合(つまり、ages = tuple(25)
)にソリューションを動作させたいと思います。
あなたが試してみたいことがあります[この](http://stackoverflow.com/a/26184603/5741205)。 PSはSQLiteのために私のために働かなかったし、現在私は他のSQLデータベースに対してそれをチェックすることはできません... – MaxU