ホームページ  >  記事  >  バックエンド開発  >  Pandas の read_sql() で SQL クエリにパラメータを渡す方法

Pandas の read_sql() で SQL クエリにパラメータを渡す方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-30 01:49:29454ブラウズ

How to Pass Parameters to SQL Queries in Pandas' read_sql()?

SQL クエリを使用して Pandas の read_sql にパラメータを渡す

問題:

を使用する場合Pandas の read_sql() メソッドと SQL クエリでは、ユーザーがクエリにパラメータを渡すときに問題が発生する可能性があります。ドキュメントではパラメータをリストまたはタプルとして使用することが記載されていますが、辞書形式を使用しようとすると問題が発生するユーザーもいます。

解決策:

read_sql によると() ドキュメントでは、パラメーターを実際に辞書として渡すことができます。ただし、接続で使用されるデータベース ドライバーによってサポートされる構文は重要な役割を果たします。

PostgreSQL への接続時に一般的に使用されるデータベース ドライバーである Psycopg2 では、名前付き引数の構文がサポートされます。この場合、以下に示すように、パラメーター名を 2 つの % 記号で囲み、辞書として指定する必要があります。

<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>

この例では、%()s 構文を使用してパラメーターのプレースホルダーを定義します。 SQLクエリ内で。次に、対応する値が辞書として read_sql() の params 引数に渡されます。

使用中のデータベース ドライバーの正しい構文を利用することで、ユーザーは Pandas の read_sql() を使用するときにパラメーターを SQL クエリに正常に渡すことができます。 ) メソッド。

以上がPandas の read_sql() で SQL クエリにパラメータを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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