熊猫 to_sql 创建重复项?

时间:2021-07-07 18:41:41

标签: python pandas postgresql

我有一个从数据框中获取数据的过程,它正在创建重复项。我尝试了 to_sql 命令的不同变体,但没有帮助。

我的命令是:

df.to_sql('my_table', schema='my_schema', con=engine, if_exists='append', index=False) 

我尝试通过保存到临时表然后尝试仅插入差异来直接通过 SQL 执行此操作。我不知道是什么问题。

# with engine.begin() as cnx:
#     # insert_sql = 'INSERT IGNORE INTO fund_mapping (SELECT * FROM fund_mapping_temporary_table)'
#     insert_sql = """
#     INSERT INTO company."fund_mapping" (fund_name, mapped_name)
#     SELECT fund_name, mapped_name FROM company."fund_mapping_temporary_table"
#     ON CONFLICT DO NOTHING
#     """
#     cnx.execute(insert_sql)

我什至尝试更改表的所有者。我想不通!

我有时会获取数据库中的数据,如果它不正确,我会调整数据,因此我不想使用“替换”,因为它首先删除整个表。

如何防止重复?

0 个答案:

没有答案