Я использую 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