当我使用sqlalchemy工具包在Python中编写PostgresSQL引擎查询时,我会收到错误,例如'列名不存在'。
例如:
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 :(得分:1)
使用合法的小写标识符。然后,您不需要双引号来保留标识符的混合大小写拼写。
您链接的教程针对的是SQLite,而不是Postgres。但是如果你没有使用双引号创建表和列以保留混合大小写拼写,那么所有的标识符都可以在Postgres中使用,因为在Postgres中自动标注的是不带引号的标识符。