I need to read an xlsx file of 10x5324 cells
This is the gist of what i was trying to do:
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
The code was taking much too long to run then it should (I was performing operations, not printing) and after a while I got impatient and cancelled it.
Any idea how I can work it in the optimized reader?
I need to iterate over a range of rows, not over all rows.
This is what i tried, but it's wrong:
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
Is there any way I can do it without the range function?
I guess one way to do it would be:
for i in ws.iter_rows[1:]:
if i.row == startrow:
continue
print i[col['Time']].value.hour
if i.row == endrow:
break
but is there a more elegant solution?
(that doesn't work either btw)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…