2

我正在尝试筛选大量毫无价值的数据,并且我想让用户有机会自己设置偏移量。代码最终看起来像:

master_rows = self.worksheet.iter_rows(row_offset=10000)

然而,在调用next(master_rows)[0]时,输出结果是:

RawCell(row=1, column='A', coordinate='A1', [...] )

基本上,偏移量似乎被完全忽略了,它总是从 0 开始。我做错了什么吗?

4

1 回答 1

2

根据源代码,如果您不通过range_stringiter_rows则将读取工作表中的所有列和行。换句话说,row_offset如果提供了就会生效range_string

例如:

from openpyxl import load_workbook

wb = load_workbook('test.xlsx', use_iterators=True)
ws = wb.get_sheet_by_name('Sheet1')


# printing coordinates of all rows and cols
for row in ws.iter_rows(row_offset=2):
    for cell in row:
        print cell.coordinate


# printing coordinates from "A3:E5" range
for row in ws.iter_rows(range_string="A1:E3", row_offset=2):
    for cell in row:
        print cell.coordinate
于 2013-05-29T21:50:29.173 回答