我每秒都会使用参数向API发出请求(自上次请求后返回更改)我将其转换为数据帧并希望快速将其插入MySQL并替换重复行,如下所示:
REPLACE INTO table (column1,column2...) VALUES (val1,val2...)
我真的很喜欢函数DataFrame.to_sql,但问题是它没有替换重复行选项。我用DataFrame.to_sql看到的方法是每次都删除表并使用选项if_exists:replace重新创建它,但我认为它会显着影响性能。您能否建议在更换重复值时从数据框插入数据的更好方法是什么?
答案 0 :(得分:1)
如果您的DF不是那么大,您可以遍历它,生成INSERT ... ON DUPLICATE KEY UPDATE SQL并在MySQL数据库中执行它们。
答案 1 :(得分:0)
似乎没有办法用pandas中的DataFrame.to_sql替换重复项。希望他们将来能够整合这个功能。我设法找到一个关于如何忽略重复的post,但在我的情况下,我只是决定选择另一种方法,并且正如@MaxU提到的迭代通过Dataframe并执行
REPLACE INTO table (column1,column2...) VALUES (val1,val2...)