Pandas sql有效更新

时间:2015-06-16 08:33:20

标签: python sql database pandas

我正在使用python pandas从MySQL数据库加载数据,更改,然后更新另一个表。有超过100,000行,因此UPDATE查询需要一些时间。

更新数据库中的数据是否比使用df.iterrows()更有效,并为每行运行UPDATE查询?

1 个答案:

答案 0 :(得分:3)

这里的问题不是熊猫,而是UPDATE操作。每一行都会触发自己的UPDATE查询,这意味着数据库连接器需要处理很多开销。

最好使用df.to_csv('filename.csv')方法将数据帧转储为CSV,然后使用LOAD DATA INFILE

将该CSV文件读入MySQL数据库

将其加载到新表格中,然后将DROP旧表格加载到RENAME新表格中加载旧表格。

此外,我建议您在将数据加载到pandas时也这样做。使用SELECT INTO OUTFILE MySQL命令,然后使用pd.read_csv()方法将该文件加载到pandas中。