pandas read_sql将列名称改为小写 - 是否有workaroud?

时间:2016-02-29 08:51:22

标签: postgresql pandas sqlalchemy

相关:pandas read_sql drops dot in column names

我使用pandas.read_sql从postgres数据库的sql查询创建数据帧。 一些列别名\名称使用混合大小写,我希望它传播到数据框。 但是,pandas(或下划线引擎 - 我所知道的SQLAlchemy)只返回小写字段名称。

有解决方法吗? (除了使用查找表并在之后修复值)

1 个答案:

答案 0 :(得分:3)

Postgres将未加引号的列名称标准化为小写。如果你有这样一张桌子:

create table foo ("Id" integer, "PointInTime" timestamp);

PostgreSQL将遵守此案,但您必须指定引用的表名:

select "Id", "PointInTime" from foo;

更好的解决方案是添加列别名,例如:

select name as "Name", value as "Value" from parameters;

Postgres将返回正确的列名称。如果问题是SQLAlchemy或pandas,那么这还不够。