Ich brauche eine xlsx Datei von 10x5324 ZellenIterieren über einen Bereich von Zeilen ws.iter_rows im optimierten Leser von openpyxl mit
Dies ist der Kern zu lesen, was ich tun wollte:
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 brauchte viel zu lange, um zu laufen, dann sollte es (ich führte Operationen, nicht Drucken) und nach einer Weile wurde ich ungeduldig und annullierte es.
Irgendeine Idee, wie ich es im optimierten Leser arbeiten kann? Ich muss über einen Bereich von Zeilen, nicht über alle Zeilen iterieren. Das ist, was 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
Gibt es eine Möglichkeit, es ohne die Range-Funktion tun können?
Ich denke, eine Möglichkeit, es 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 ist es eine elegantere Lösung? (das nicht funktioniert, entweder btw)
zu Lösung 2 hinzufügen - Sie können eine Else-Anweisung hinzufügen, um aus der for zu brechen, um die Iteration über alle Zeilen zu stoppen, wenn sie einmal vorbei ist –