Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich Wörterbuchparameter für SQL-Abfragen an Pandas „read_sql'?

Wie übergebe ich Wörterbuchparameter für SQL-Abfragen an Pandas „read_sql'?

Barbara Streisand
Barbara StreisandOriginal
2025-01-18 07:32:08472Durchsuche

How to Pass Dictionary Parameters to Pandas `read_sql` for SQL Queries?

Verwenden Sie Pandas read_sql, um Parameter für SQL-Abfragen zu übergeben

Beim Abfragen einer Datenbank von Pandas mit SQLAlchemy müssen Sie häufig Parameter an die SQL-Abfrage übergeben. Während in der Dokumentation die Verwendung von Parameterlisten oder Tupeln empfohlen wird, untersucht dieser Beitrag die Machbarkeit der Verwendung eines Wörterbuchs.

Konkret geht es um die empfohlene Syntax für die Übergabe von SQL-Abfrageparametern aus Pandas mithilfe eines Wörterbuchs.

Benannte Parameter verwenden

Gemäß der read_sql-Dokumentation können Parameter als Liste, Tupel oder Wörterbuch übergeben werden. Die Syntax zur Übergabe von Werten in SQL-Abfragen hängt jedoch vom verwendeten Datenbanktreiber ab.

Für PostgreSQL mit dem psycopg2-Treiber werden benannte Parameter im Stil %(name)s unterstützt. Hier ist ein Beispiel:

<code class="language-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 Wörterbuchparameter für SQL-Abfragen an Pandas „read_sql'?. 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