[Python]openpyxl xlrd でxlsxファイルが読めない不具合 xlrd.biffh.XLRDError: Excel xlsx file; not supported

python
Python の openpyxl xlrd ライブラリで2~3日前から発生している不具合です。ライブラリが更新されたようです。xlrd.biffh.XLRDError: Excel xlsx file; not supported というエラーメッセージが表示されます。

 

エラーメッセージ全文

 

以下、原因と対応です。

 

原因

xlrd(エクセルファイルの読み込みライブラリ)から.xlsxファイルの読み込み機能が外されています。.xlsファイルは読み込めます。

 

対応1

読み込むファイルをxlsに変更して良いなら、それがベスト。

 

対応2

しかたないので、xlrdのバージョンを戻す

こちらは一時的な対応になってしまいますけど、古い参考書などをもとに勉強する場合はこちらの方法がおすすめです。

参考
https://stackoverflow.com/questions/65254535/xlrd-biffh-xlrderror-excel-xlsx-file-not-supported

 

対策3

こちらはまともな回避策です。この問題が発生した当初は対策2の解決策しか有りませんでしたが、xlrdで回避策が用意されました。

これを

このように直してください。

デフォルトの読み込みがxlsフォーマットに変わっただけなので、一応、現在ではxlsxフォーマットを読み込む能力は持っています。読み込みエンジンをopenpyxlに変えてやればよろしい。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です