我正在尝试筛选大量毫无价值的数据,并且我想让用户有机会自己设置偏移量。代码最终看起来像:
master_rows = self.worksheet.iter_rows(row_offset=10000)
然而,在调用next(master_rows)[0]
时,输出结果是:
RawCell(row=1, column='A', coordinate='A1', [...] )
基本上,偏移量似乎被完全忽略了,它总是从 0 开始。我做错了什么吗?
我正在尝试筛选大量毫无价值的数据,并且我想让用户有机会自己设置偏移量。代码最终看起来像:
master_rows = self.worksheet.iter_rows(row_offset=10000)
然而,在调用next(master_rows)[0]
时,输出结果是:
RawCell(row=1, column='A', coordinate='A1', [...] )
基本上,偏移量似乎被完全忽略了,它总是从 0 开始。我做错了什么吗?
根据源代码,如果您不通过range_string
,iter_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