iterando em um intervalo de linhas usando ws.iter_rows no leitor otimizado de openpyxl

Eu preciso ler um arquivo xlsx de 10x5324 células

Esta é a essência do que eu estava tentando fazer:

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

O código estava demorando muito para rodar, então deveria (eu estava executando operações, não imprimindo) e depois de um tempo eu fiquei impaciente e cancelei.

Alguma idéia de como eu posso trabalhar isso no leitor otimizado? Preciso iterar em um intervalo de linhas, não em todas as linhas. Isso é o que eu tentei, mas está errado:

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

Existe alguma maneira de fazer isso sem a função range?

Eu acho que uma maneira de fazer isso seria:

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

mas existe uma solução mais elegante? (Isso não funciona nem entre)

questionAnswers(2)

yourAnswerToTheQuestion