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

如何使用 SQL 查詢將參數傳遞給 Pandas' read_sql?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 04:53:30626瀏覽

How do I pass parameters to Pandas' read_sql with SQL queries?

透過SQL 查詢在Pandas 的read_sql 中傳遞參數

使用Pandas 執行帶參數的SQL 查詢時,主要有兩種方法:以列表或元組形式傳遞參數,或將它們作為字典傳遞。

以列表或元組形式傳遞參數

第一種方法涉及使用佔位符建立SQL 查詢,例如BETWEEN % 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>

將參數作為字典傳遞

第二種方法涉及使用命名參數建立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中文網其他相關文章!

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