Durchlaufen einer Reihe von Zeilen mit ws.iter_rows im optimierten Reader von openpyxl

Ich muss eine xlsx-Datei mit 10x5324 Zellen lesen

Dies ist der Kern dessen, was ich versuchte zu tun:

from openpyxl import load_workbook
filename = 'file_path'

wb = load_workbook(filename)
ws = wb.get_sheet_by_name('LOG')

col = {'Time':0 ...}

for i in ws.columns[col['Time']][1:]:
    print i.value.hour

Der Code dauerte viel zu lange, als dass er ausgeführt werden sollte (ich führte Operationen aus, druckte nicht), und nach einer Weile wurde ich ungeduldig und stornierte ihn.

Hast du eine Idee, wie ich es mit dem optimierten Reader machen kann? Ich muss über einen Bereich von Zeilen iterieren, nicht über alle Zeilen. Das habe ich versucht, aber es ist falsch:

wb = load_workbook(filename, use_iterators = True)
ws = wb.get_sheet_by_name('LOG')
for i in ws.iter_rows[1:]:
    print i[col['Time']].value.hour

Kann ich das auf irgendeine Weise ohne die Bereichsfunktion tun?

Ich denke, ein Weg, dies zu tun, wäre:

for i in ws.iter_rows[1:]:
    if i.row == startrow:
        continue
    print i[col['Time']].value.hour
    if i.row == endrow:
        break

aber gibt es eine elegantere lösung? (das funktioniert übrigens auch nicht)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage