【发布时间】:2019-03-07 08:51:15
【问题描述】:
目前我面临一个问题,即从 redshift 连接将数据读入 Python。我能够从 Python 连接到 redshift 服务器并且还能够获取数据。
在对中间有“空格”的列名应用过滤器时出现问题。我尝试了几种组合通过查询得到过滤后的数据,但没有结果。
这是我用来将 Python 连接到 redshift 服务器的代码 sn-p。
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) 等组合。
需要您的支持才能找到解决此问题的任何方法。
【问题讨论】:
-
这就是为什么在列名中使用空格总是是个坏主意。
标签: python python-3.x postgresql amazon-redshift psycopg2