Heim  >  Artikel  >  Backend-Entwicklung  >  Wie übergebe ich Parameter an eine Pandas read_sql-Abfrage?

Wie übergebe ich Parameter an eine Pandas read_sql-Abfrage?

Barbara Streisand
Barbara StreisandOriginal
2024-10-30 14:28:02670Durchsuche

How do I pass parameters to a Pandas read_sql query?

Pandas read_sql mit Parametern

Wenn Pandas verwendet wird, um mithilfe einer SQLAlchemy-Engine eine Verbindung zu einer SQL-Datenbank herzustellen, gibt es mehrere Möglichkeiten, Parameter an eine SQL-Abfrage zu übergeben.

Insbesondere ermöglicht die read_sql-Methode die Übergabe von Parametern entweder als Liste oder als Tupel, wie im folgenden Beispiel gezeigt:

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

Alternativ können Parameter als Wörterbuch übergeben werden, wie in gezeigt die Dokumentation. Die spezifische Syntax, die Sie zum Übergeben von Werten in der SQL-Abfrage verwenden, hängt jedoch vom verwendeten Datenbanktreiber ab.

Im Fall von psycopg2 ist die empfohlene Syntax für benannte Argumente %(name)s, wie gezeigt unten:

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

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

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