前言
python第三方庫xlrd讀取.xlsx格式的Excel文件時報錯,報錯信息如下:
報錯原因:
①查看本機安裝的python第三方庫xlrd的版本:
②可以看到當前xlrd庫的版本號為2.0.1;且xlrd 2.0.1版本僅支持讀取.xls 格式的Excel文件。不支持讀取.xlsx格式的Excel文件。
解決辦法:
方法一:
①如果不想降低第三方庫xlrd(2.0.1 )的版本,可以直接修改Excel文件的格式為.xls格式即可。
再次運行讀取Excel的代碼,這個問題得到解決。
②如果還是不行的話,可以嘗試在修改了Excel文件格式為.xls格式后,在終端中運行以下命令:
pip install pyexcel-xls
再次運行讀取Excel的代碼,這個問題得到解決。
方法二:
①降低第三方庫xlrd的版本至1.2.0。
②使用 xlrd.open_workbook 打開已存在的Excel文件時,如果添加參數 formatting_info=True 則會讀取.xlsx格式的Excel文件報錯。如下:
【注意】
formatting_info 參數默認為False,且當該參數為False時xlrd讀取數據可以節約內存;(Excel文件底部空行,空單元格都是存在格式信息但是沒有數據,該參數為False時直接會被當成空對待,即這將會裁剪任何底部、右邊的空的表格)
formatting_info 參數為True時,xlrd讀取Excel數據時會讀取Excel文件中各種格式的信息。
③使用 xlrd.open_workbook 打開已存在的Excel文件時,不添加參數 formatting_info (默認值為False)或者添加 formatting_info=False 參數,讀取.xlsx格式的Excel文件數據成功
④1.2.0版本的xlrd除了可以讀取.xlsx格式的Excel文件,依然還可以讀取.xls格式的Excel文件。
總結
①雖然可以通過降低xlrd版本的方法實現對.xlsx格式的Excel文件的讀取,但是一般都是采用最新的2.0.1版本的xlrd讀取.xls格式的Excel文件。
②讀取.xlsx格式的Excel文件采用python第三方庫openpyxl。查看該博客:python第三方庫openpyxl詳解
參考博客:https://blog.csdn.net/m0_47704575/article/details/120664981