」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 Pandas read_sql 傳遞參數?

如何使用 Pandas read_sql 傳遞參數?

發佈於2024-11-08
瀏覽:241

How to Pass Parameters with Pandas read_sql?

使用 Pandas read_sql 傳遞參數

概述

Pandas read_sql 函數可讓您執行 SQL 查詢並從資料庫檢索資料。它的功能之一是能夠將參數傳遞給查詢。

參數語法

參數可以作為列表、元組或字典傳遞。確切的語法取決於所使用的資料庫驅動程式。以下是一些常見的範例:

  • ?或%s:單一值的佔位符
  • :1 或:name:單一值的命名佔位符
  • %(name)s:使用string.format 語法的命名佔位符

使用帶有命名參數的字典

傳遞參數的一個選項是使用字典。大多數驅動程式都支援這一點,包括 psycopg2 驅動程式的 PostgreSQL。字典中的鍵值對對應於查詢中的命名佔位符。

範例

為了示範命名參數方法,讓我們考慮以下 SQL 查詢:

select "Timestamp", "Value" from "MyTable"
where "Timestamp" BETWEEN :dstart AND :dfinish

以下是使用字典將參數傳遞給此查詢的方法:

params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}

df = psql.read_sql(
    "select \"Timestamp\",\"Value\" from \"MyTable\" where \"Timestamp\" BETWEEN %(dstart)s AND %(dfinish)s",
    db,
    params=params,
    index_col=["Timestamp"],
)

在此範例中,params 字典為命名佔位符 :dstart 和 :dfinish 提供值。 %(name)s 語法確保將值正確插入查詢中。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3