无法从Redshift读取名称为空格的列中的数据

时间:2019-03-07 08:51:15

标签: python python-3.x postgresql amazon-redshift psycopg2

当前,我面临一个有关从redshift连接将数据读取到Python中的问题。我能够从Python连接到redshift服务器,也能够获取数据。

在将过滤器应用于列名之间具有“空格”的问题时,出现问题。我尝试了几种组合以通过查询获得过滤后的数据,但没有结果。

这是我用来将Python连接到redshift服务器的代码段。

import pandas as pd
import psycopg2
con = psycopg2.connect(dbname= 'dbname', host='hostname', port= 'portnumber', 
                                     user= 'username', password= 'password')
query = "select * from schema.table_name WHERE schema.table_name.part number='123456'
df = pd.read_sql(query, con)

在上面的代码中,我只想获取“零件号” =“ 123456”的数据。但是由于两者之间的间隔,我遇到了错误。我还尝试了[part number],'part number',{part number},(part number)之类的组合。

需要您的支持以找到解决此问题的任何方法。

1 个答案:

答案 0 :(得分:0)

尝试

query = "select * from schema.table_name WHERE schema.table_name.\"part number\"='123456';"

或者只是

query = "select * from schema.table_name WHERE \"part number\"='123456';"