Dies ist ein sehr sehr seltsames Problem. Ich habe eine ziemlich große Excel-Datei (deren Inhalt ich nicht besprechen kann, da es sich um sensible Daten handelt), die eine .xlsx-Datei ist und eine gültige Excel-Datei ist.xlrd kann keine xlsx-Datei lesen, die vom E-Mail-Anhang heruntergeladen wurde
Wenn ich es von meiner E-Mail herunterladen und auf meinem Desktop speichern und versuchen, die Arbeitsmappe mit xlrd zu öffnen, löst xlrd einen AssertionError aus und zeigt mir nicht, was schief gelaufen ist.
Wenn ich die Datei mit meinem Dateibrowser öffne und sie dann speichere (ohne Änderungen vorzunehmen), funktioniert sie perfekt mit xlrd.
Hat jemand dieses Problem schon einmal erlebt? Ich habe vergeblich versucht, verschiedene Flags an die Funktion open_workbook zu übergeben und habe versucht, nach dem Fehler zu suchen. Bis jetzt habe ich nichts gefunden.
Die Methode, die ich verwendet wurde als
file = open('bigexcelfile.xlsx') fileString = file.read() wb = open_workbook(file_contents=filestring)
Bitte helfen folgt! Der Fehler ist als
Traceback (most recent call last): File "./varify/samples/resources.py", line 354, in post workbook = xlrd.open_workbook(file_contents=fileString) File "/home/vagrant/varify-env/lib/python2.7/site-packages/xlrd/__init__.py", line 416, in open_workbook ragged_rows=ragged_rows, File "/home/vagrant/varify-env/lib/python2.7/site-packages/xlrd/xlsx.py", line 791, in open_workbook_2007_xml x12sheet.process_stream(zflo, heading) File "/home/vagrant/varify-env/lib/python2.7/site-packages/xlrd/xlsx.py", line 528, in own_process_stream self_do_row(elem) File "/home/vagrant/varify-env/lib/python2.7/site-packages/xlrd/xlsx.py", line 722, in do_row assert tvalue is not None AssertionError
'xlrd' kann nur .xls, nicht .xlsx lesen. – SethMMorton
Ich weiß, dass Sie diese Frage vor einiger Zeit gestellt haben. Enthält die Excel-Datei jedoch leere Zellen, in denen die Funktion "Umbruchtext" aktiviert ist? – Mike
Es gibt eine Lösung dafür: https://github.com/python-excel/xlrd/pull/95 – bernie