[PYTHON] Was tun, wenn xlrd.biffh.XLRDError: Nicht unterstütztes Format oder beschädigte Datei: Erwarteter BOF-Datensatz;

--Umgebung --Windows10 Pro Version 1909 - Python 3.8.5 - Pandas 1.0.5

Ereignis: Ich wurde wütend, als ich versuchte, eine Excel-Datei mit Pandas zu lesen

Ich war wütend, als ich mit Python einen Code zum Lesen einer Excel-Datei erstellte, mit PyInstaller eine Exe-Datei machte, das Verzeichnis änderte und an der Eingabeaufforderung ausführte.

> my-code.exe
Der Überprüfungsprozess wurde gestartet. Schließen Sie den Bildschirm nicht.
Traceback (most recent call last):
  File "my-code.py", line 256, in <module>
  File "my-code.py", line 218, in check_files
  File "pandas\io\excel\_base.py", line 304, in read_excel
  File "pandas\io\excel\_base.py", line 824, in __init__
  File "pandas\io\excel\_xlrd.py", line 21, in __init__
  File "pandas\io\excel\_base.py", line 353, in __init__
  File "pandas\io\excel\_xlrd.py", line 36, in load_workbook
  File "xlrd\__init__.py", line 148, in open_workbook
  File "xlrd\book.py", line 92, in open_workbook_xls
  File "xlrd\book.py", line 1278, in getbof
  File "xlrd\book.py", line 1272, in bof_error
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\t\x92\x86\x88\xe4 \x90^'
[12704] Failed to execute script my-code

my-code.py


import pandas as pd

def check_files():
    #Excel-Datei lesen
    book = pd.read_excel(excel_file, sheet_name=None, header=None)

Ursache: Es gibt eine Mülldatei

Es gab eine Datei, die mit "~ $" begann und beim Öffnen der Excel-Datei erstellt wurde ... Manchmal bleibt es auch nach dem Schließen der Excel-Datei erhalten ... Ich konnte es im Explorer nicht sehen, aber ich konnte es mit dem Befehl dir sehen ...

> dir data\
# ...Kürzung...
2020/10/07  10:30               165 ~$Excel verarbeitet werden.xlsm

Aktion: Löschen Sie die Garbage-Datei

#Mülldatei löschen
> cd data\
> del "~$Excel verarbeitet werden.xlsm"

#Es hat funktioniert, wenn es keinen Müll gab
> cd ../
> my-code.exe
Der Überprüfungsprozess wurde gestartet. Schließen Sie den Bildschirm nicht.
Die Bearbeitung des Werkzeugs ist abgeschlossen.

Recommended Posts

Was tun, wenn xlrd.biffh.XLRDError: Nicht unterstütztes Format oder beschädigte Datei: Erwarteter BOF-Datensatz;
Was tun, wenn [Errno 2] in Python keine solche Datei oder kein solches Verzeichnis angezeigt wird?
Was tun, wenn gdal_merge eine große Datei generiert?
Was tun, wenn ValueError, "nicht unterstützter Hash-Typ" ausgelöst wird?
Was tun, wenn die PyCharm-Schrift seltsam oder verstümmelt ist?
Was tun, wenn Ubuntu abstürzt?
Was tun, wenn ein PermissionError in tempfile.mkstemp auftritt?
Was tun, wenn ENOENT: Während der npm-Installation wird keine solche Datei oder kein solches Verzeichnis angezeigt
[Go 1.13] Was tun, wenn ein unerwartetes Verzeichnislayout angezeigt wird?
[openpyxl] Was tun, wenn IllegalCharacterError in pandas.DataFrame.to_excel angezeigt wird?
curl: (60) Was tun, wenn das Ausstellerzertifikat ungültig ist?
Was tun, wenn "Name xxx nicht importiert werden kann" [Python]
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
Verfahren, die durchgeführt werden müssen, wenn Japanisch nicht in matplotlib angezeigt wird
Was tun, wenn beim Aktualisieren von conda ein Fehler beim Entfernen auftritt?
Was tun, wenn nicht ausrichtbare boolesche Reihen als Indexer bereitgestellt werden?
TypeError: Nicht unterstützte Operandentypen für: Was ist zu tun, wenn "Zeit" und "Zeit"?
Was tun, wenn beim Importieren von _ssl ein Fehler auftritt?
Was tun, wenn die Paketinstallation bei der Bereitstellung auf heroku fehlschlägt?
Was tun, wenn in Python "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" angezeigt wird?
OSError: [Errno 40] Was tun, wenn die Nachricht zu lang erscheint?
Was tun, wenn in Django "Ungültiger HTTP_HOST-Header" angezeigt wird?
ImportError: Kein Modul Was tun, wenn Sie dazu aufgefordert werden?
[Anfänger] Was tun, wenn "[Errno 2] Datei b'test.csv 'nicht vorhanden ist: b'test.csv" beim Lesen von csv von Pandas angezeigt wird