Pandas で Excel マクロファイル (.xlsm の拡張子のファイル)を読み込んで作表している Python アプリが、Excel マクロファイルを読み込まなくなりました。GUI アプリでエラー処理が甘く、読み込まない理由が判らなかったのですが、PyCharm 上でアプリを起動してエラーメッセージを見ると、下記のメッセージでした。
ValueError: Your version of xlrd is 2.0.1. In xlrd >= 2.0, only the xls format is supported. Install openpyxl instead.
なるほど、読み込み処理には xlrd [1] を使っていたのかと、さらに調べて納得しました [2]。
解決策は、pip で openpyxl [3] をインストールして、下記のように変更します [4]。
df = pd.read_excel(
filename,
engine='openpyxl',
)
エラーメッセージを読めば判ることですが、一応、備忘録としました。
参考サイト
- xlrd — xlrd 2.0.1 documentation
- pandas.read_excel — pandas 1.2.0 documentation
- openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.5 documentation
- python - xlrd.biffh.XLRDError: Excel xlsx file; not supported - Stack Overflow [2020-12-11]
0 件のコメント:
コメントを投稿