将pandas
to_sql
的数据上传到postgres
时,添加的行被复制8倍。
print(len(df)
10000
df.to_sql(tablename, engine, index=False, if_exists='append')
test = pd.read_sql(tablename, sql.psg_engine)
print(len(test))
80000
test = test.drop_duplicates()
print(len(test))
10000
在使用以下命令添加主键和索引之后发生,如果我只是将数据发送到使用to_sql新创建的表,则不会发生。这就是我设置键和索引的方式:
ALTER TABLE tablename ADD COLUMN ID SERIAL PRIMARY KEY;
CREATE INDEX parent ON tablename(parent);
CREATE INDEX key_value ON tablename (key,value);
同时在postgres终端上运行\d table name
时,出现以下错误:
ERROR: column c.relhasoids does not exist
LINE 1: ...riggers, c.relrowsecurity, c.relforcerowsecurity, c.relhasoi...
我使用以下字符串设置了sqlalchemy
engine
:
engine = sqlalchemy.create_engine("postgresql+pg8000://postgres:password@localhost:7777/bd")
这是我第一次使用postgres。谢谢!