6

Ich benutze Jupyter Notebook mit Python für Datenbankabfragen mit der db.py Bibliothek.Hervorhebung von SQL in Python Strings

Zum Beispiel könnte es aussehen (in meiner Code-Zelle):

df = db.query(""" 
SELECT a,b 
    FROM c 
    ORDER BY d DESC 
""") 

Was würde ich Syntax haben mag, ist, Hervorhebung von SQL in meinem String. Ist das möglich? Ein Vorschlag, wie man es baut, würde auch helfen!

Antwort

1

Es scheint, dass das IPython-SQL-Plugin (https://github.com/catherinedevlin/ipython-sql) am nächsten ist, was Sie wollen. Es ermöglicht %sql und %%sql Magie, so dass Sie SQL-Code ohne Zeichenfolgen, das Ergebnis einer Variablen zuweisen und dann ein Datenframe von diesem Ergebnis erstellen können.

>>> %sql postgresql:///master 
'Connected: [email protected]' 
>>> res = %sql SELECT * FROM some_table 
731 rows affected. 
>>> df = res.DataFrame() 
>>> type(df) 
pandas.core.frame.DataFrame 

Und da SQL-Abfrage nicht innerhalb der Zeichenfolge geschrieben ist, können Sie einige Markierung erhalten (es ist eigentlich Hervorhebung für Python-Code missbraucht, aber es macht die Dinge ein wenig schönere).