Wie übergebe ich mit SQL-Abfragen Parameter an Pandas' read_sql?

Mary-Kate Olsen
Freigeben: 2024-10-31 04:53:30
Original
721 Leute haben es durchsucht

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

Übergabe von Parametern in Pandas' read_sql mit SQL-Abfragen

Bei der Verwendung von Pandas zur Durchführung von SQL-Abfragen mit Parametern gibt es zwei Hauptansätze: Übergabe von Parametern als Liste oder Tupel , oder sie als Wörterbuch übergeben.

Parameter als Liste oder Tupel übergeben

Die erste Methode beinhaltet das Erstellen einer SQL-Abfrage mit Platzhaltern, wie z. B. BETWEEN % s UND %s und Übergabe der Parameterwerte als Liste oder Tupel. Dies ist im folgenden Beispiel zu sehen:

<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>
Nach dem Login kopieren

Parameter als Wörterbuch übergeben

Die zweite Methode beinhaltet das Erstellen einer SQL-Abfrage mit benannten Parametern, z als BETWEEN :dstart AND :dfinish und Übergabe der Parameterwerte als Wörterbuch. Es ist jedoch wichtig zu beachten, dass nicht alle Datenbanktreiber benannte Parameter unterstützen.

Psycopg2, das häufig mit PostgreSQL verwendet wird, unterstützt beispielsweise den %(name)s-Stil benannter Parameter. Hier ist ein Beispiel:

<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>
Nach dem Login kopieren

Denken Sie daran, die Dokumentation für Ihren gewählten Datenbanktreiber zu überprüfen, um die unterstützte Syntax für benannte Parameter zu ermitteln.

Das obige ist der detaillierte Inhalt vonWie übergebe ich mit SQL-Abfragen Parameter an Pandas' read_sql?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage