目前我面临的一个问题是从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”的数据。但由于两者之间的空间,我得到了错误。我也尝试了[部件号],'部件号',{部件号},(部件号)等组合。
需要您的支持才能找到解决此问题的方法。
尝试
query = "select * from schema.table_name WHERE schema.table_name.\"part number\"='123456';"
要不就
query = "select * from schema.table_name WHERE \"part number\"='123456';"