使用以下代码:
conn = sqlite3.connect(new_database_name)
dataset_symbol_sorted.to_sql(name = symbol_name_changed , con = conn, if_exists="append")
cursor = conn.cursor()
如果现在还不存在,我想现在添加数据。该表作为称为“日期”的列,应用作标识符。有没有简单的方法可以做到这一点?
我尝试了一种解决方案,在该解决方案中附加并删除重复项,但这不是理想的解决方案。
答案 0 :(得分:0)
我相信您的问题的答案可以在这里找到:Pandas to_sql fails on duplicate primary key
(很抱歉,我仍无法发表评论作为答案)
基本上,Pandas没有INSERT IGNORE,因此有以下选择:
尝试逐行追加数据,并将IntegrityError逻辑放入try-except块中(但效果很差)
将sql数据获取到Pandas,使用它查找重复的索引并仅上载新的索引(如果数据较小,我会这样做)
将sql上载到登台表并使用纯sql处理行
顺便说一句,将列命名为“日期”不是一个好主意,因为它是许多语言和数据库中的保留字。