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
'xlrd' może tylko czytać .xls, a nie .xlsx. – SethMMorton
Wiem, że zadałeś to pytanie jakiś czas temu, ale czy plik Excela zawiera puste komórki z włączoną funkcją zawijania tekstu? – Mike
Tutaj jest poprawka: https://github.com/python-excel/xlrd/pull/95 – bernie