Openpyxl не может прочитать строку, когда отсутствует ссылочный атрибут - PullRequest
0 голосов
/ 21 июня 2019

Я использую openpyxl для чтения листа Excel. Он генерирует KeyError при итерации и разборе строк, потому что элемент строки openxml не имеет ссылочного атрибута ('r'). Он имеет только индекс стиля ('s') и 'customFormat'.

Атрибуты электронной таблицы Openxml

Как я могу прочитать ячейки в этом файле?

Ошибка возникает независимо от того, открыта ли рабочая книга как только для чтения или нет, и при разных ссылках на ячейки, поскольку все они вызывают openpyxl.worksheet._reader.parse_row()

Я не могу поделиться книгой Excel, но код Python очень прост.

wb = load_workbook(filename)
ws = wb['Sheet1']
print(ws['A1'])

Ошибка:

  File "openpyxl\worksheet\_reader.py", line 150, in parse
    row = self.parse_row(element)
  File "openpyxl\worksheet\_reader.py", line 272, in parse_row
    self.row_dimensions[attrs['r']] = attrs
KeyError: 'r'

Из отладчика:

row = {Element} <Element '{http://schemas.openxmlformats.org/spreadsheetml/2006/main}row' at 0x000002713782E9F8>
    attrib = {dict} <class 'dict'>: {'s': '148', 'customFormat': '1'}
    tag = {str} '{http://schemas.openxmlformats.org/spreadsheetml/2006/main}row'
    tail = {NoneType} None
    text = {NoneType} None
...