Мне нужно прочитать файл xlsx из 10x5324 ячеек
Суть того, что я пытался сделать:
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
Код выполнялся слишком долго, тогда как должен (Я выполнял операции, а не печатал) и через некоторое время я потерял терпение и отменил его.
Есть идеи, как это сделать в оптимизированной читалке? Мне нужно перебрать диапазон строк, а не все строки. Вот что я пробовал, но это неправильно:
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
Могу ли я сделать это без функции диапазона?
Думаю, один из способов сделать это:
for i in ws.iter_rows[1:]:
if i.row == startrow:
continue
print i[col['Time']].value.hour
if i.row == endrow:
break
но есть ли более элегантное решение? (кстати, это тоже не работает)