我正在尝试对列名称solar+下的一些数据运行spearman关联。但是,当尝试使用select语句从egauge13830表中选择所需的行数时,加号被视为运算符并导致错误。以下是我尝试过的两种说法及其结果:
1)
sql1 = """
SELECT solar+
FROM egauge13830
WHERE tstamp < 1434870960
"""
sqlalchemy.exc.programmingerror:(psycopg2.errors.syntaxerror)语法错误位于或接近“from”
3号线:自egauge13830
^
sql1 = """
SELECT 'solar+'
FROM egauge13830
WHERE tstamp < 1434870960
"""
df1 = pd.read_sql_query(sql1, engine)
print(df1.head())
0 solar+
1 solar+
2 solar+
3 solar+
4 solar+
我还尝试更改此列的名称,但找不到不涉及select语句的方法,使用select语句会导致与上面所示完全相同的问题。
那么,有什么可以添加到select语句以使其运行的方法,还是其他更改列名的方法?
谢谢你的帮助。
1条答案
按热度按时间dtcbnfnu1#
刚在gordon发表评论后意识到,它在postgres中的双引号和在sql server中的方括号solar+'会将其视为普通字符串而不是列名,这就是它打印字符串“solar+”的原因
理想情况下,列的名称不是标准的,因此您可以在拥有权限的情况下更改列的名称。