Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya menghantar parameter kepada pertanyaan read_sql Pandas?

Bagaimanakah saya menghantar parameter kepada pertanyaan read_sql Pandas?

Barbara Streisand
Barbara Streisandasal
2024-10-30 14:28:02670semak imbas

How do I pass parameters to a Pandas read_sql query?

Panda read_sql dengan Parameter

Apabila menggunakan Pandas untuk menyambung ke pangkalan data SQL menggunakan enjin SQLAlchemy, terdapat pelbagai cara untuk menghantar parameter kepada pertanyaan SQL.

Khususnya, kaedah read_sql membenarkan untuk menghantar parameter sama ada sebagai senarai atau tuple, seperti yang ditunjukkan dalam contoh di bawah:

<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>

Sebagai alternatif, parameter boleh dihantar sebagai kamus, seperti yang dilihat dalam dokumentasi tersebut. Walau bagaimanapun, sintaks khusus yang anda gunakan untuk menghantar nilai dalam pertanyaan SQL bergantung pada pemacu pangkalan data yang anda gunakan.

Dalam kes psycopg2, sintaks yang disyorkan untuk argumen bernama ialah %(name)s, seperti yang ditunjukkan di bawah:

<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>

Atas ialah kandungan terperinci Bagaimanakah saya menghantar parameter kepada pertanyaan read_sql Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn