【问题标题】:Pandas sql update efficientlyPandas sql 高效更新
【发布时间】:2015-08-31 23:19:08
【问题描述】:

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

有没有比使用df.iterrows() 并为每一行运行UPDATE 查询更有效的方法来更新数据库中的数据?

【问题讨论】:

    标签: python sql database pandas


    【解决方案1】:

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

    您最好使用df.to_csv('filename.csv') 方法将数据帧转储为 CSV,然后使用LOAD DATA INFILE 将该 CSV 文件读入您​​的 MySQL 数据库

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

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

    【讨论】:

    • 从来没有想过这样做。谢谢
    猜你喜欢
    • 2020-03-08
    • 2021-07-20
    • 2010-10-12
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2011-04-18
    • 1970-01-01
    相关资源
    最近更新 更多