夜雨聆风学习资料网

ARTICLE · 1033628

300MB 的 Excel 打不开?用 Python 把它拆

300MB 的 Excel 打不开?用 Python 把它拆

300MB 的 Excel 打不开?用 Python 把它拆

同事甩来个 300MB 的 Excel,双击后电脑风扇狂转,十分钟后我只能无奈重启。

做数据的谁没遇到过这种坑?几十万行的大表,业务方一句“按部门拆成 20 个文件”就能让人崩溃。用 pandas 读直接爆内存,手工筛选复制更是想让人当场辞职。其实解决这事不用上百行代码,核心就俩字:流式。

说白了就是读一行、写一行、丢一行,绝不让整个文件进内存。用 openpyxl 的只读和只写模式,内存占用能从 GB 级直接掉到百 MB 级。实测处理 80 万行的表,内存只要 260MB,一分多钟搞定。

不过这招也有几个坑得防着点。公式列读出来是空的,得先用表格软件打开存一次;要是按高基数列拆分,可能会瞬间生成几万个文件,直接把系统拖垮。另外,这套方案只搬数据不保格式,真要保留样式还是得靠 VBA。

原文300MB 的 Excel 打不开?用 Python 把它拆成 N 个小文件(附完整代码)
作者提示: 个人观点,仅供参考
广东,1小时前,

相关学习资料