Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Lulus Parameter ke panda read_sql dengan Pertanyaan SQL?

Bagaimana untuk Lulus Parameter ke panda read_sql dengan Pertanyaan SQL?

Barbara Streisand
Lepaskan: 2025-01-18 07:23:10
asal
850 orang telah melayarinya

How to Pass Parameters to pandas read_sql with SQL Queries?

Panda read_sql dengan pertanyaan SQL berparameter

Fungsi pandas.read_sql ialah alat yang berkuasa untuk mengambil data daripada pangkalan data. Apabila bekerja dengan enjin SQLAlchemy, menghantar parameter dengan berkesan kepada pertanyaan SQL anda adalah penting. Panduan ini menunjukkan dua pendekatan biasa: parameter kedudukan dan dinamakan.

Kaedah 1: Parameter Kedudukan

Kaedah ini menggunakan senarai atau tupel untuk membekalkan parameter kepada pertanyaan SQL anda. Pemegang tempat dalam pernyataan SQL (%s) digantikan secara berurutan oleh elemen dalam senarai parameter.

Contoh:

<code class="language-python">import pandas as pd
from datetime import datetime

# ... (database connection setup using SQLAlchemy) ...

query = ('SELECT "Timestamp", "Value" FROM "MyTable" '
         'WHERE "Timestamp" BETWEEN %s AND %s')
params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)]

df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])</code>
Salin selepas log masuk

Kaedah 2: Parameter Dinamakan

Parameter yang dinamakan menawarkan kebolehbacaan dan kebolehselenggaraan yang lebih baik. Walau bagaimanapun, sintaks yang disokong bergantung pada pemacu pangkalan data anda. Dengan SQLAlchemy dan psycopg2, sintaks %(name)s diperlukan.

Contoh:

<code class="language-python">import pandas as pd
from datetime import datetime

# ... (database connection setup using SQLAlchemy) ...

query = ('SELECT "Timestamp", "Value" FROM "MyTable" '
         'WHERE "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s')
params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}

df = pd.read_sql(query, db, params=params, index_col=['Timestamp'])</code>
Salin selepas log masuk

Nota Penting: Sentiasa semak dokumentasi pemacu pangkalan data anda untuk mengesahkan sintaks parameter yang betul. Menggunakan sintaks yang salah akan membawa kepada ralat pertanyaan. Ini memastikan pertanyaan berparameter anda dilaksanakan dengan betul dan selamat.

Atas ialah kandungan terperinci Bagaimana untuk Lulus Parameter ke panda read_sql dengan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan