2014-04-28 12 views
5

To bardzo dziwny problem. Mam dość duży plik programu Excel (którego zawartość nie mogę omawiać, ponieważ jest to poufne dane), który jest plikiem .xlsx i jest poprawnym plikiem programu Excel.xlrd nie może odczytać pliku xlsx pobranego z załącznika wiadomości e-mail

Po pobraniu go z mojego adresu e-mail i zapisaniu go na pulpicie i próbie otwarcia skoroszytu przy użyciu xlrd, xlrd zgłasza błąd AssertionError i nie pokazuje mi, co poszło nie tak.

Kiedy otwieram plik za pomocą przeglądarki plików, zapisuję ją (bez wprowadzania żadnych zmian), działa ona idealnie z Xlrd.

Czy ktoś napotkał ten problem wcześniej? Próbowałem przekazywanie różnych flag do funkcji open_workbook bezskutecznie i próbowałem googlować dla błędu. Jak dotąd niczego nie znalazłem.

Sposób Kiedyś był następujący

 

    file = open('bigexcelfile.xlsx') 
    fileString = file.read() 
    wb = open_workbook(file_contents=filestring) 

Proszę o pomoc! Błąd jest następujący

 

    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' może tylko czytać .xls, a nie .xlsx. – SethMMorton

+0

Wiem, że zadałeś to pytanie jakiś czas temu, ale czy plik Excela zawiera puste komórki z włączoną funkcją zawijania tekstu? – Mike

+0

Tutaj jest poprawka: https://github.com/python-excel/xlrd/pull/95 – bernie

Odpowiedz

1

Zmień nazwę lub zapisać jako plik Excel jako .xls zamiast .XLSX Dziękuję

Powiązane problemy