2016-12-17 62 views
0

當我使用sqlalchemy工具包在Python中編寫PostgresSQL引擎查詢時,出現如下錯誤:'列名不存在'如何在Python中編寫PostgreSQL查詢而不出現大寫/小寫問題?

例如:

df = pd.read_sql_query('SELECT Descriptor FROM data LIMIT 3', engine) 

但具有下列修改沒有錯誤:

df = pd.read_sql_query('SELECT \"Descriptor\" FROM data LIMIT 3', engine) 

是否有任何辦法可以避免必須做到這一點的附加步驟(即,添加斜線)通過可能使用某種類型的全局設置?

+0

如果可以,請將表格重命名爲小寫。 – teppic

+0

如果你正在使用sqlalchemy爲什麼你要寫這樣的原始查詢? – e4c5

+0

@ e4c5我的朋友,我正在關注這個[教程](https://plot.ly/python/big-data-analytics-with-pandas-and-sqlite/),因爲我是一名學習SQL和sqlalchemy的新學員。你能否提出一個替代方法來編寫我在第一篇文章中提到的查詢的例子。謝謝。 – user121

回答

1

使用合法的小寫標識符。然後,您不需要雙引號來保存標識符的混合大小寫拼寫。

您鏈接到本教程是針對SQLite的,而不是Postgres的。但是,如果您沒有創建帶雙引號的表和列來保留混合大小寫拼寫,那麼所有標識符都可以在Postgres中運行,因爲在Postgres中自動引用的標識符自動爲小寫。