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