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)