DataFrame写入Excel耗时异常过长问题求助
排查pandas写入Excel至OneDrive耗时过长的原因及解决思路
核心原因分析
- OneDrive同步机制干扰:写入大文件(73万+行)时,OneDrive的实时同步进程会反复扫描文件变化,与pandas的写入操作互相阻塞,导致读写效率骤降。此前无问题可能是数据规模更小或当时同步负载较低。
- 默认引擎效率不足:
to_excel默认使用openpyxl引擎,该引擎对超大规模数据集的逐行写入模式优化有限,叠加OneDrive同步干扰后,耗时被进一步放大。 - 文件权限/锁定问题:公司OneDrive的权限设置或后台同步进程可能锁定了目标文件,导致pandas写入时需反复等待锁释放,拖慢整体进度。
针对性解决办法
- 本地写入后手动同步:先将文件写入非OneDrive本地目录,避开实时同步干扰,完成后再手动复制到OneDrive文件夹。示例代码:
ont_dub.to_excel("C:/local_temp/ont_dub 2019.xlsx") - 换用高效写入引擎:使用
xlsxwriter引擎替代默认的openpyxl,它针对大规模数据写入做了专门优化。代码修改为:
未安装时先执行ont_dub.to_excel("ont_dub 2019.xlsx", engine="xlsxwriter")pip install xlsxwriter。 - 临时关闭OneDrive同步:右键托盘OneDrive图标,选择“暂停同步”,完成写入后再重新开启同步。
- 检查文件占用情况:确认目标路径下的
ont_dub 2019.xlsx未被Excel或其他程序打开,关闭占用程序后重试写入。
内容的提问来源于stack exchange,提问作者Neuquert
相关产品推荐
相关产品推荐

