我正在将一个csv文件转换为Pandas数据帧,然后将其本质上转换为Postgres表。
问题是我可以在Postgres中创建一个表,但是查询时却无法从表中选择列名。
这是我的示例代码:
import pandas as pd
from sqlalchemy import create_engine
import psycopg2
engine = create_engine('postgresql://postgres:pwd@localhost:5432/test')
def convertcsvtopostgres(csvfileloc, table_name, delimiter):
data = pd.read_csv(csvfileloc, sep=delimiter, encoding='latin-1')
data.head()
data1 = data.rename(columns=lambda x: x.strip())
data1.to_sql(table_name, engine, index=False)
convertcsvtopostgres("Product.csv","t_product","~")
我可以做一个select * from test.t_product;
,但我做不到select product_id from test.t_product;
我不确定是否由于文件的编码和转换而发生这种情况。有什么办法解决这个问题,因为我不想每次都指定表结构。