Python の openpyxl xlrd ライブラリで2~3日前から発生している不具合です。ライブラリが更新されたようです。xlrd.biffh.XLRDError: Excel xlsx file; not supported というエラーメッセージが表示されます。
エラーメッセージ全文
1 |
xlrd.biffh.XLRDError: Excel xlsx file; not supported |
以下、原因と対応です。
原因
xlrd(エクセルファイルの読み込みライブラリ)から.xlsxファイルの読み込み機能が外されています。.xlsファイルは読み込めます。
対応1
読み込むファイルをxlsに変更して良いなら、それがベスト。
対応2
しかたないので、xlrdのバージョンを戻す
1 |
pip install xlrd==1.2.0 |
こちらは一時的な対応になってしまいますけど、古い参考書などをもとに勉強する場合はこちらの方法がおすすめです。
参考
https://stackoverflow.com/questions/65254535/xlrd-biffh-xlrderror-excel-xlsx-file-not-supported
対策3
こちらはまともな回避策です。この問題が発生した当初は対策2の解決策しか有りませんでしたが、xlrdで回避策が用意されました。
これを
1 |
df = pd.read_excel("sample.xlsx") |
このように直してください。
1 |
df = pd.read_excel("sample.xlsx", engine='openpyxl')で |
デフォルトの読み込みがxlsフォーマットに変わっただけなので、一応、現在ではxlsxフォーマットを読み込む能力は持っています。読み込みエンジンをopenpyxlに変えてやればよろしい。