Pandas to_sql替换重复项

时间:2016-05-04 10:53:38

标签: python python-2.7 python-3.x pandas

我每秒都会使用参数向API发出请求(自上次请求后返回更改)我将其转换为数据帧并希望快速将其插入MySQL并替换重复行,如下所示:

REPLACE INTO table (column1,column2...) VALUES (val1,val2...) 

我真的很喜欢函数DataFrame.to_sql,但问题是它没有替换重复行选项。我用DataFrame.to_sql看到的方法是每次都删除表并使用选项if_exists:replace重新创建它,但我认为它会显着影响性能。您能否建议在更换重复值时从数据框插入数据的更好方法是什么?

2 个答案:

答案 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...)