PythonでのExcelファイル読み込みトラブルについて

やりたいこと

Pythonでexcelファイルを読み込む

VMインスタンスでMatillion内のPythonコンポネントを使用しているという環境

発生したエラー(1)

Pythonでファイルを読み込む際
ImportError: Missing optional dependency 'xlrd'
というエラーが発生

解決方法

xlrdモジュールが必要とのことだったので、インストールする
Matillionを動かしているインスタンスのrootでインストールする必要がある
Matillionではpython3を使用しているため(MatillionのデフォルトはPython2)
sudo python3 pip install xlrd
でモジュールをインストール

発生したエラー(2)

xlrdをインストールした後、再度Pythonでファイルを読み込んだところ
raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported
というエラーが発生

解決方法

xlrdはver2.0.0以降では読み込めるexcelファイルは.xlsのみで.xlsxはサポートしなくなった(潜在的な脆弱性が発見されたため、削除されたとのこと)
そこで、openpyexモジュールをインストールして使用
sudo python3 pip install openpyxl
でインストール
ファイルを読み込む際に
pd.read_csv(“ファイル名.xlsx”, engine=‘openpyxl’)
とすることで、無事読み込み完了

また、pandasのバージョンを1.2.0以降に指定することでも解決するよう

まとめ

xlrdモジュールはxlsxファイルに非対応になってしまった
xlsxファイルを読み込む際に、openpyxlを使用して解決した

Follow me!

DMP構築のご相談

お気軽にお問い合わせください

コメントを残す

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