Я работаю с файлом xlsx с помощью openpyxl, но когда я открываю этот файл xlsx в режиме read_only, я могу получить доступ только к первым 10 строкам. Я не вижу этого со всеми xlsx-файлами. Есть ли что-то о данных в файле xlsx, которые будут запускать StopIteration раньше с read_only как True, но не с False? Все данные в электронной таблице (теоретически) равномерны и равнозначны.Python openpyxl: режим только для чтения возвращает другой счетчик строк
Это работает, как ожидалось, для book2, но не для книги1, как показано ниже.
>>> import openpyxl
>>> a = openpyxl.load_workbook("book1.xlsx", read_only=True)
>>> a.active.max_row
10
>>> a = openpyxl.load_workbook("book1.xlsx", read_only=False)
>>> a.active.max_row
20082
>>> a = openpyxl.load_workbook("book2.xlsx", read_only=True)
>>> a.active.max_row
1069
>>> a = openpyxl.load_workbook("book2.xlsx", read_only=False)
>>> a.active.max_row
1069
Как вы создаете файлы XLSX? Количество строк перепутано в VBA, когда данные/строки были удалены, возможно, это похоже здесь. –
Спасибо за ваш вопрос. Файл xlsx, который не работает, был создан сторонней программой, поэтому я, к сожалению, не контролирую его. Я вообще не манипулировал им. – sunilbeforezod
Похоже, что элемент измерения на листе имеет недопустимые значения. –