同事有一段 python 脚本,里面用 pandas 读取一个几十万行的 excel 文件,但是速度实在太慢了。问我有没有什么好办法提升运行速度。如果在几个月以前,就实在没有什么好办法了。毕竟在 python 生态中,读写 excel 最后的倔强就是 openpyxl 了。你就别指望它能提速了。
现在可不一样了。马上升级你的 pandas 版本,因为在 pandas 2.2 版本,开始引入一个全新的 excel 解析引擎库,它不仅仅性能吊打 openpyxl ,并且同时支持一众 excel 格式( xls
, xlsx
, xlsm
, xlsb
, xla
, xlam
)
这就是 calamine 库,如果你到 github 上查看,会看到其实它是一个 rust 的库:
看看 calamine 官方的性能对比:
calamine 是 openpyxl 的 10 倍。
好消息是,python 也有对应的接口库:
更好的消息是,pandas 在 2.2 版本开始,悄悄支持了 calamine 。为什么说"悄悄"&