Я работаю над скриптом в Windows и теперь, когда меняю платформу на Linux/Ubuntu, у меня возникают некоторые проблемы. В приведенном ниже примере я просто пытаюсь распечатать имена листов, но получаю некоторые ошибки, которые я никогда раньше не видел. Может быть, это проблема с Xlrd? Потому что я могу открыть файл Excel в Libreoffice.Python Xlrd read excel file error
Код:
#!/usr/bin/python
import xlrd
xl_workbook = xlrd.open_workbook('/home/ubuntu/Downloads/usage01.12.2015_31.12.2015.xls')
sheet_names = xl_workbook.sheet_names()
print('Sheet Names', sheet_names)
Ошибка:
0 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
20 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
40= 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
60 4 4 3 2
Traceback (most recent call last):
File "./forbruk.py", line 4, in <module>
xl_workbook = xlrd.open_workbook('/home/ubuntu/Downloads/usage01.12.2015_31.12.2015.xls')
File "/usr/local/lib/python2.7/dist-packages/xlrd-0.9.4-py2.7.egg/xlrd/__init__.py", line 441, in open_workbook
ragged_rows=ragged_rows,
File "/usr/local/lib/python2.7/dist-packages/xlrd-0.9.4-py2.7.egg/xlrd/book.py", line 87, in open_workbook_xls
ragged_rows=ragged_rows,
File "/usr/local/lib/python2.7/dist-packages/xlrd-0.9.4-py2.7.egg/xlrd/book.py", line 592, in biff2_8_load
cd.locate_named_stream(UNICODE_LITERAL(qname))
File "/usr/local/lib/python2.7/dist-packages/xlrd-0.9.4-py2.7.egg/xlrd/compdoc.py", line 390, in locate_named_stream
d.tot_size, qname, d.DID+6)
File "/usr/local/lib/python2.7/dist-packages/xlrd-0.9.4-py2.7.egg/xlrd/compdoc.py", line 418, in _locate_stream
raise CompDocError("%s corruption: seen[%d] == %d" % (qname, s, self.seen[s]))
xlrd.compdoc.CompDocError: Workbook corruption: seen[2] == 4
Может быть, попробуйте использовать другое имя типа '' snames' потому что sheet_names' является методом класса чтения. –
Не могли бы вы напечатать имена листов по индексу, 'print sheet_names.sheet_by_index (0)', но я думаю, что проблема связана с вашим файлом excel. – python
Я получаю ошибки только при наличии строки «xl_workbook = xlrd.open_workbook». Я довольно смущен, так как я могу открыть файл excel в LibreOffice без каких-либо проблем. – user3580316