python第三方庫xlrd不支持讀取.xlsx格式的Excel文件的問題詳解


前言

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM