iterowanie po szeregu wierszy za pomocą ws.iter_rows w zoptymalizowanym czytniku openpyxl

Muszę odczytać plik xlsx zawierający komórki 10x5324

To jest sedno tego, co próbowałem zrobić:

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

Kod wymagał zbyt wiele czasu, aby go uruchomić (powinienem wykonywać operacje, nie drukować) i po chwili stałem się niecierpliwy i anulowałem go.

Masz jakiś pomysł, jak mogę to zoptymalizować w czytniku? Muszę iterować po szeregu wierszy, a nie po wszystkich wierszach. To właśnie próbowałem, ale to nie tak:

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

Czy jest jakiś sposób, w jaki mogę to zrobić bez funkcji zakresu?

Myślę, że jednym ze sposobów byłoby:

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

ale czy jest bardziej eleganckie rozwiązanie? (to nie działa albo btw)

questionAnswers(2)

yourAnswerToTheQuestion