相关疑难解决方法(0)

在openpyxl的优化读取器中使用ws.iter_rows迭代一系列行

我需要读取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
Run Code Online (Sandbox Code Playgroud)

代码花了太长时间才能运行它应该(我正在执行操作,而不是打印)并且过了一段时间我不耐烦并取消了它.

知道如何在优化的阅读器中使用它吗?我需要迭代一系列行,而不是遍历所有行.这是我试过的,但这是错的:

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
Run Code Online (Sandbox Code Playgroud)

没有范围功能,有什么办法可以做到吗?

我想有一种方法可以做到:

for i in ws.iter_rows[1:]:
    if i.row == startrow:
        continue
    print i[col['Time']].value.hour
    if i.row == endrow:
        break
Run Code Online (Sandbox Code Playgroud)

但是有更优雅的解决方案吗?(这不是顺便说一句)

python excel xlsx openpyxl

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

excel ×1

openpyxl ×1

python ×1

xlsx ×1