Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah cara saya menghantar parameter kepada Pandas\' read_sql dengan pertanyaan SQL?

Bagaimanakah cara saya menghantar parameter kepada Pandas\' read_sql dengan pertanyaan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 04:53:30725semak imbas

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

Melalui Parameter dalam read_sql Pandas dengan Pertanyaan SQL

Apabila menggunakan Panda untuk melakukan pertanyaan SQL dengan parameter, terdapat dua pendekatan utama: lulus parameter sebagai senarai atau tuple , atau menghantarnya sebagai kamus.

Melalui Parameter sebagai Senarai atau Tuple

Kaedah pertama melibatkan mencipta pertanyaan SQL dengan ruang letak, seperti BETWEEN % s DAN %s, dan menghantar nilai parameter sebagai senarai atau tupel. Ini boleh dilihat dalam contoh berikut:

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

Melalui Parameter sebagai Kamus

Kaedah kedua melibatkan mencipta pertanyaan SQL dengan parameter bernama, seperti sebagai ANTARA :dstart DAN :dfinish, dan menghantar nilai parameter sebagai kamus. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tidak semua pemacu pangkalan data menyokong parameter bernama.

Sebagai contoh, psycopg2, yang biasa digunakan dengan PostgreSQL, menyokong gaya %(name)s parameter bernama. Berikut ialah contoh:

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

Ingat untuk menyemak dokumentasi untuk pemacu pangkalan data pilihan anda untuk menentukan sintaks yang disokong untuk parameter bernama.

Atas ialah kandungan terperinci Bagaimanakah cara saya menghantar parameter kepada Pandas\' read_sql dengan pertanyaan SQL?. 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