11个100w条dataframe数据写一张工作表多张工作簿优化记录

发布时间:2024年01月08日

问题:目前有11个dataframe,最多的dataframe有100w条数据,现在需要把这11个dataframe写入同一个表格的11个工作簿

解决历程:

1.使用 pd.ExcelWriter方法,默认为xlwriter引擎,修改为 openpyxl:

ps: 在本地写入100w条数据大概2分多,但是服务器上大概要20分钟。。。

with pd.ExcelWriter(self.file_name, engine='openpyxl') as file_writer:
    sheet_name1 = 'aaa'
    frame1.to_excel(writer, engine='openpyxl', encoding='utf-8', sheet_name=sheet_name1, index=False)

    sheet_name2 = 'bbb'
    frame2.to_excel(writer, engine='openpyxl', encoding='utf-8', sheet_name=sheet_name2, index=False)

     ...

上述方法只能简单的写入数据,效率较慢

2.在上述的基础上,使用多线程写入,效率提升一小半

with pd.ExcelWriter(self.file_name, engine="openpyxl") as file_writer:
    """采用多线程方式,提高写入速度"""
        thread1 &#
文章来源:https://blog.csdn.net/qq_35204012/article/details/135464450
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。