Pandas を使用してパラメータを使用して SQL クエリを実行する場合、主に 2 つのアプローチがあります: パラメータをリストまたはタプルとして渡す
最初の方法では、BETWEEN % などのプレースホルダーを使用した SQL クエリを作成します。 s AND %s を使用し、パラメータ値をリストまたはタプルとして渡します。これは次の例で確認できます。
<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>
2 番目の方法では、名前付きパラメータを使用して SQL クエリを作成します。 BETWEEN :dstart AND :dfinish として、パラメータ値を辞書として渡します。ただし、すべてのデータベース ドライバーが名前付きパラメーターをサポートしているわけではないことに注意することが重要です。
たとえば、PostgreSQL で一般的に使用される 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>
名前付きパラメータでサポートされている構文を確認するには、選択したデータベース ドライバーのドキュメントを必ず確認してください。
以上がSQL クエリを使用して Pandas の read_sql にパラメータを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。