10x5324 セルの xlsx ファイルを読み取る必要があります
これは私がやろうとしていたことの要点です:
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
範囲機能なしでそれを行う方法はありますか?
それを行う1つの方法は次のようになると思います:
for i in ws.iter_rows[1:]:
if i.row == startrow:
continue
print i[col['Time']].value.hour
if i.row == endrow:
break
しかし、よりエレガントなソリューションはありますか? (どちらも機能しません)