Melalui Parameter dalam read_sql Pandas dengan SQL Query
Masalah:
Apabila bekerja dengan Kaedah read_sql() Pandas dan pertanyaan SQL, pengguna mungkin menghadapi kesukaran menghantar parameter kepada pertanyaan. Walaupun dokumentasi menyebut penggunaan parameter sebagai senarai atau tuple, sesetengah pengguna menemui masalah apabila cuba menggunakan format kamus.
Penyelesaian:
Mengikut read_sql () dokumentasi, parameter sememangnya boleh diluluskan sebagai kamus. Walau bagaimanapun, sintaks yang disokong oleh pemacu pangkalan data yang digunakan dalam sambungan memainkan peranan yang penting.
Untuk Psycopg2, pemacu pangkalan data yang biasa digunakan semasa menyambung ke PostgreSQL, sintaks argumen yang dinamakan disokong. Dalam kes ini, nama parameter hendaklah disertakan dalam tanda % berganda dan dinyatakan sebagai kamus, 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>
Dalam contoh ini, sintaks %()s digunakan untuk mentakrifkan ruang letak parameter dalam pertanyaan SQL. Nilai yang sepadan kemudiannya dihantar sebagai kamus kepada argumen params read_sql().
Dengan menggunakan sintaks yang betul untuk pemacu pangkalan data yang sedang digunakan, pengguna boleh berjaya menghantar parameter kepada pertanyaan SQL apabila menggunakan Pandas' read_sql( ) kaedah.
Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter ke Pertanyaan SQL dalam Pandas\' read_sql()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!