【发布时间】:2021-07-10 23:58:25
【问题描述】:
我正在从抓取的数据中构建数据库。我只想插入尚未在我的数据库中的记录,而忽略所有重复的记录。
以下是我的代码
conn = sqlite3.connect('Database.db')
df.to_sql("My_cool_data_Temp", conn, if_exists='replace', index=False)
query = "SELECT * FROM My_cool_data_Temp EXCEPT SELECT * FROM My_cool_data;"
new_entries = pd.read_sql(query, conn)
new_entries.to_sql("My_cool_data", conn, if_exists='append', index=False)
conn.execute("DROP TABLE My_cool_data_Temp;")
这段代码给了我以下错误:
sqlite3.IntegrityError: UNIQUE constraint failed:
打印出new_entries 我看到由于某种原因查询似乎不起作用,因为我得到了重复。
有什么我可能会错过的想法吗?我也会很高兴有不同的方法来解决我的问题。
非常感谢!
【问题讨论】:
-
发布表定义和示例数据以澄清您的问题。
标签: python sql pandas dataframe sqlite