pandas pd.read_excel()-Fehler XLRDError: Excel xlsx file; not supported beheben

English Deutsch

Problem:

Beim Versuch, eine .xlsx-Datei mit pandas pd.read_excel() zu lesen, erscheint diese Fehlermeldung:

xlrd_error.txt
XLRDError: Excel xlsx file; not supported

Lösung

Die xlrd-Bibliothek unterstützt nur .xls-Dateien, nicht .xlsx-Dateien. Damit pandas .xlsx-Dateien lesen kann, openpyxl installieren:

install_openpyxl.sh
pip install -U openpyxl

Danach das Skript erneut ausführen (bei Verwendung eines Jupyter Notebooks muss das Notebook neu gestartet werden, um pandas neu zu laden!).

Wenn der Fehler weiterhin auftritt, gibt es zwei Möglichkeiten:

Möglichkeit 1 (bevorzugt): pandas aktualisieren

pandas 1.1.3 wählt nicht automatisch die richtige XLSX-Reader-Engine, aber pandas 1.3.1 tut dies:

install_pandas.sh
pip install -U pandas

Bei Verwendung eines Jupyter Notebooks muss das Notebook neu gestartet werden, um die aktualisierte pandas-Version zu laden!

Möglichkeit 2: Engine in pd.read_excel() explizit setzen

engine='openpyxl' zum pd.read_excel()-Befehl hinzufügen, zum Beispiel:

pd_read_excel_example.py
pd.read_excel('my.xlsx', engine='openpyxl')

Check out similar posts by category: Pandas, Python