注意!Pandas处理Excel有重大更新!弃用xlrd!

在12月份发布的Pandas的1.2.0版本中 , pa有一个关于处理Excel的重大更新 。即不再推荐使用xlwt与xlrd引擎,推荐使用openpyxl处理Excel 。

注意!Pandas处理Excel有重大更新!弃用xlrd!

此前Pandas默认处理Excel的引擎是xlrd和xlwt(一个是读取Excel的库一个是写入Excel的库) 。由于xlwt只支持对旧版本Excel(.xls)的写入 , 且不再更新维护 。而xlrd目前也只会支持旧版本Excel(.xls)的读?。虼薖andas官方已经不再推荐使用这两个引擎处理Excel 。
此前,即便是读取新版本Excel , Pandas也会默认使用xlrd读?。磖ead_excel()的engine参数没有指定的时候) 。从1.2.0版本开始engine=None的处理逻辑变成如下顺序:
1、如果读取的文件是OpenDocument格式,使用odf引擎
2、如果是xls格式(即旧版本Excel) , 则使用xlrd
3、如果是xlsb格式,使用pyxlsb引擎
注意这是未制定处理引擎的情况 , 如果指定处理引擎也会处理xlsx格式 。
此外,从1.3.0开始 , Pandas处理Excel默认逻辑进一步改成如下顺序:
1、如果已经安装openpyxl库,使用这个引擎
2、如果安装xlrd>=2.0,那么直接报错
3、如果是低版本xlrd,会告警
【注意!Pandas处理Excel有重大更新!弃用xlrd!】从上面的逻辑看 , 未来应该Pandas处理Excel应该只支持openpyxl了 。因此,如果各位使用xlrd引擎处理Excel需要记住安装openpyxl库以切换引擎并适配最新的Pandas版本 。
最后 , Pandas官方也温馨提示:如果你依然坚持使用xlrd或者xlwt引擎处理Excel,也请不要再去社区提问或者报告问题了 。他们应该也不会理你了 。[灵光一闪]

相关经验推荐