„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie übergebe ich Parameter mit Pandas read_sql?

Wie übergebe ich Parameter mit Pandas read_sql?

Veröffentlicht am 08.11.2024
Durchsuche:206

How to Pass Parameters with Pandas read_sql?

Übergabe von Parametern mit Pandas read_sql

Übersicht

Mit der Pandas read_sql-Funktion können Sie SQL-Abfragen ausführen und Daten aus einer Datenbank abrufen. Eine seiner Funktionen ist die Möglichkeit, Parameter an die Abfrage zu übergeben.

Parametersyntax

Parameter können als Liste, Tupel oder Diktat übergeben werden. Die genaue Syntax hängt vom verwendeten Datenbanktreiber ab. Hier sind einige gängige Beispiele:

  • ? oder %s: Platzhalter für einen einzelnen Wert
  • :1 oder :name: Benannter Platzhalter für einen einzelnen Wert
  • %(name)s: Benannter Platzhalter mit der string.format-Syntax

Verwenden eines Wörterbuchs mit benannten Argumenten

Eine Möglichkeit zur Übergabe von Parametern ist die Verwendung eines Wörterbuchs. Dies wird von den meisten Treibern unterstützt, einschließlich PostgreSQL mit dem psycopg2-Treiber. Die Schlüssel-Wert-Paare im Wörterbuch entsprechen den benannten Platzhaltern in der Abfrage.

Beispiel

Um den Ansatz mit benannten Argumenten zu veranschaulichen, betrachten wir die folgende SQL-Abfrage:

select "Timestamp", "Value" from "MyTable"
where "Timestamp" BETWEEN :dstart AND :dfinish

So würden Sie mithilfe eines Wörterbuchs Parameter an diese Abfrage übergeben:

params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}

df = psql.read_sql(
    "select \"Timestamp\",\"Value\" from \"MyTable\" where \"Timestamp\" BETWEEN %(dstart)s AND %(dfinish)s",
    db,
    params=params,
    index_col=["Timestamp"],
)

In diesem Beispiel stellt das Params-Wörterbuch Werte für die benannten Platzhalter :dstart und :dfinish bereit. Die %(name)s-Syntax stellt sicher, dass die Werte korrekt in die Abfrage eingefügt werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3