2015-12-17 28 views
6

我使用jupyter筆記本與python使用db.py庫來執行數據庫查詢。python字符串中的SQL高亮

例如,它可能看起來像(我的代碼單元格內):

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

我想有是我的字符串中的SQL語法高亮顯示。那可能嗎?關於如何構建它的建議也有幫助!

回答

1

似乎最接近你想要的是IPython-SQL插件(https://github.com/catherinedevlin/ipython-sql)。它啓用%sql%%sql魔術,以便您可以在不使用字符串的情況下編寫sql代碼,將結果分配給某個變量,然後根據此結果創建數據框。

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

而且由於SQL查詢被寫入不是字符串裏,你得到一些高亮(實際上它的濫用高亮Python代碼,但它使事情變得更漂亮)。