同事有一段 python 脚本,里面用 pandas 读取一个几十万行的 excel 文件,但是速度实在太慢了。问我有没有什么好办法提升运行速度。如果在几个月以前,就实在没有什么好办法了。毕竟在 python 生态中,读写 excel 最后的倔强就是 openpyxl 了。你就别指望它能提速了。
现在可不一样了。马上升级你的 pandas 版本,因为在 pandas 2.2 版本,开始引入一个全新的 excel 解析引擎库,它不仅仅性能吊打 openpyxl ,并且同时支持一众 excel 格式(
这就是 calamine 库,如果你到 github 上查看,会看到其实它是一个 rust 的库:
看看 calamine 官方的性能对比:
calamine 是 openpyxl 的 10 倍。
好消息是,python 也有对应的接口库:
更好的消息是,pandas 在 2.2 版本开始,悄悄支持了 calamine 。为什么说"悄悄"?因为智能提示都没有提示出来:
并且
今天,我们先亲自下场尝试一下。
加载一份 800 多万行的 feather 文件:
自然不可能全部塞到 excel 里面,就取前 50 万行吧:
由于 to excel 仍然使用 openpyxl ,速度可想而知,用了差不多2分钟。
现在看看使用 calamine 引擎,加载到 dataframe 要多久:
9.4 秒,还是比 feather 文件的 2.5 秒慢多了。不过有相关经验的小伙伴应该知道,加载一个50 万行的 excel,只要差不多10秒,已经是谢天谢地了。
看看 openpyxl 的速度,你能感受到什么是绝望:
白白多出1分钟
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
??Python实战案例??
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
??Python书籍和视频合集??
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
??Python副业创收路线??
这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
本文转自网络,如有侵权,请联系删除。