利用 Pandas 的 read_sql() 和 PostgreSQL 參數化
Pandas 的 read_sql()
功能簡化了資料庫互動。 雖然該函數支援參數傳遞,但通常缺乏明確的範例。本指南重點介紹如何使用 SQLAlchemy 引擎連接到 PostgreSQL 並有效利用參數化查詢。
Pandas 中的參數化查詢
Pandas read_sql()
中參數化查詢的關鍵是 params
參數。 此參數接受各種資料結構(列表、元組、字典),但資料庫驅動程式決定接受的參數語法。
理解參數語法變化
SQL 參數語法有所不同。 位置參數以“?”表示或“%s”,而命名參數使用“:1”、“:name”或“%(name)s”。 驅動程式與這些語法的兼容性至關重要。
Psycopg2 和命名參數:一個實際範例
PostgreSQL,當透過 Psycopg2 驅動程式存取時,支援使用「%(name)s」語法的命名參數。 以下程式碼以前可能會失敗,現在可以在 Psycopg2 上正常運作:
<code class="language-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>
此程式碼示範了在查詢字串中傳遞命名參數並在 params
字典中提供它們的值。 Psycopg2 有效地處理參數映射。
重點
Pandas read_sql()
中有效的參數傳遞需要了解參數語法和資料庫驅動程式之間的交互作用。使用正確的語法可確保動態靈活的資料檢索,並增強 Pandas 的高階資料分析能力。
以上是查詢 PostgreSQL 資料庫時如何有效地將參數傳遞給 Pandas 的 read_sql() 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!