2013-05-29 21 views
2

我想筛选大量无价值的数据,我想让用户有机会自己设置偏移量。该代码最终结束了看起来像:但是在调用时next(master_rows)[0]openpyxl行迭代器忽略row_offset参数?

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

,输出证明:

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

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

回答

2

根据source code,如果您未通过range_string,则iter_rows将读取工作表中的所有列和行。换句话说,如果提供range_stringrow_offset将生效。

例如:

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 
+1

这+'范围字串= ws.calculate_dimension()'也正是我需要做的事。 – RodericDay