Ich arbeite mit einer xlsx-Datei mit openpyxl, aber wenn ich diese xlsx-Datei im read_only-Modus öffne, kann ich nur auf die ersten 10 Zeilen zugreifen. Ich sehe das nicht mit allen xlsx-Dateien. Gibt es etwas über die Daten in einer xlsx-Datei, die die StopIteration früh mit read_only als True auslöst, aber nicht mit False? Alle Daten in der Tabelle sind (theoretisch) einheitlich und reiner Text.Python openpyxl: Der schreibgeschützte Modus gibt eine andere Zeilenanzahl zurück
Dies funktioniert wie erwartet für Buch2, aber nicht für Buch1 wie unten gezeigt.
>>> 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
Wie haben Sie die XLSX-Dateien erstellen? Die Zeilenanzahl ist in VBA durcheinander geraten, wenn Daten/Zeilen gelöscht wurden, vielleicht ist dies hier ähnlich. –
Danke für Ihre Frage. Die xlsx-Datei, die nicht funktioniert, wurde von einem Drittanbieter-Programm generiert, so dass ich leider keine Kontrolle darüber habe. Ich habe es jedoch überhaupt nicht manipuliert. – sunilbeforezod
Das Element Dimensionen im Arbeitsblatt weist möglicherweise ungültige Werte auf. –