ホームページ  >  記事  >  バックエンド開発  >  SQLAlchemy で Pandas の read_sql メソッドを使用して SQL クエリにパラメータを渡すにはどうすればよいですか?

SQLAlchemy で Pandas の read_sql メソッドを使用して SQL クエリにパラメータを渡すにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 07:20:30507ブラウズ

How can I pass parameters to an SQL query using Pandas' read_sql method with SQLAlchemy?

SQLAlchemy を使用した Pandas の read_sql クエリのパラメーター

SQLAlchemy エンジンを使用してデータベースに接続する場合、パラメーターはPandas の read_sql メソッドを使用した SQL クエリ。これを実現するには、以下に概説する 2 つの主なアプローチがあります。

リストまたはタプルの使用

この方法には、渡される値を含むリストまたはタプルの作成が含まれます。クエリに。 SQL ステートメント内のこれらの値のプレースホルダーは疑問符 (?) である必要があります。例:

<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" '
                     'where "Timestamp" BETWEEN %s AND %s'),
                   db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)],
                   index_col=['Timestamp'])</code>

辞書の使用

または、パラメータ名とそれに対応する値を指定することで、辞書を使用してパラメータを渡すこともできます。ただし、パラメーター プレースホルダーに使用される特定の構文は、データベース ドライバーによって異なる場合があります。 psycopg2 の場合、推奨される構文は %(name)s 形式を使用することです。

<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" '
                     'where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s'),
                   db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)},
                   index_col=['Timestamp'])</code>

サポートされるパラメーター構文は、使用されているデータベース ドライバーに応じて異なることに注意することが重要です。したがって、適切に使用するために、特定のドライバーのドキュメントを参照することをお勧めします。

以上がSQLAlchemy で Pandas の read_sql メソッドを使用して SQL クエリにパラメータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。