2016-04-22 8 views
0

Normalerweise verwende ich Pandas, um mit Daten zu schauen und mit ihnen zu spielen, mir ist das vertraut.SQL-Formatierungsbeispiele für lange Abfragen in Python für psycopg2-Verbindungen

Wenn ich Daten aus einer Postgres-Datenbank mit dem psycopg2-Modul ziehe, setze ich die SQL-Abfragen in eine Python-Datei, aber wenn es eine komplizierte Abfrage ist, erstreckt es sich in einer Zeile weit über den Bildschirm.

Gibt es eine Möglichkeit, eine SQL-Abfrage mit Zeilenumbrüchen in Python zu bekommen? d. h. eine Art Sonderzeichen-Wrapper, der Python die Leerzeichen ignoriert?

diese

sql = SELECT devices.id, devices.names, devices.addresses, devices.charging, devices.covered, record_temperatures.time 
FROM devices 
WHERE devices.imei like '%0444258'; 

df = pd.read_sql_query(sql, con=conn) 

Nicht dieses

sql = SELECT devices.id, devices.names, devices.addresses, devices.charging, devices.covered, record_temperatures.time FROM devices WHERE devices.imei like '%0444258'; 

df = pd.read_sql_query(sql, con=conn) 

Antwort

3

Sie Backslash wie unten verwenden:

sql = "SELECT devices.id, devices.names, devices.addresses,\ 
devices.charging, devices.covered, record_temperatures.time \ 
FROM devices \ 
WHERE devices.imei like '%0444258'"; 

oder auch Triple-Zitat verwenden können:

sql = """SELECT devices.id, devices.names, devices.addresses, 
devices.charging, devices.covered, record_temperatures.time 
FROM devices 
WHERE devices.imei like '%0444258'; 
""" 
+0

Ich finde Tripel-Zitat besser – qvpham

Verwandte Themen