2014-04-28 6 views
5

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 

+1

'xlrd' kann nur .xls, nicht .xlsx lesen. – SethMMorton

+0

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

+0

Es gibt eine Lösung dafür: https://github.com/python-excel/xlrd/pull/95 – bernie

Antwort

1

Umbenennungs oder Speichern als Excel-Datei als .xls folgt statt .xlsx Danke

Verwandte Themen