首頁  >  文章  >  後端開發  >  如何使用 Pandas 的 read_sql 方法和 SQLAlchemy 將參數傳遞給 SQL 查詢?

如何使用 Pandas 的 read_sql 方法和 SQLAlchemy 將參數傳遞給 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 引擎連接到資料庫時,可以在使用sqldas 的方法進行SQL 查詢。有兩種主要方法可以實現此目的,如下所述。

使用清單或元組

此方法涉及建立包含要傳遞的值的清單或元組到查詢。 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>

需要注意的是,支援的參數語法將根據所使用的資料庫驅動程式而有所不同。因此,建議查閱特定驅動程式的文件以確保正確使用。

以上是如何使用 Pandas 的 read_sql 方法和 SQLAlchemy 將參數傳遞給 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn