xlrd не может открыть .xls файлы от поставщика - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть 100+ .xls файлов, которые мне нужно преобразовать в .xlsx для панд.Все мои поиски в Google говорят, что я должен использовать xlrd и openpyxl для этого, но я застрял на первом препятствии.

Файлы .xls не читаются xlrd.

    import xlrd    
    ref_workbook = xlrd.open_workbook("Invoice_319593_2.xls")
    print (ref_workbook)

выдает сообщение об ошибке:

Traceback (most recent call last):
  File "path", line 4, in <module>
    ref_workbook = xlrd.open_workbook("Invoice_319593_2.xls")
  File "path", line 157, in open_workbook
    ragged_rows=ragged_rows,
  File "path", line 108, in open_workbook_xls
    bk.fake_globals_get_sheet()
  File "path", line 732, in fake_globals_get_sheet
    self.get_sheets()
  File "path", line 723, in get_sheets
    self.get_sheet(sheetno)
  File "path", line 714, in get_sheet
    sh.read(self)
  File "path", line 795, in read
    rc, data_len, data = bk_get_record_parts()
  File "path", line 680, in get_record_parts
    code, length = unpack('<HH', mem[pos:pos+4])
struct.error: unpack requires a buffer of 4 bytes

Я изменил полный каталог на просто «путь», чтобы подвергнуть цензуре некоторую личную информацию.

Я погуглил сообщение об ошибке, но не нашел решения.У кого-нибудь есть какие-либо идеи?Я что-то упускаю из виду?Я вручную преобразовал файл в .xlsx, и он отлично работает с пандами, openpyxl и xlrd, но версии .xls этого не делают.

...