使用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中文網其他相關文章!