建立了工作表对象后,有下列两个方法可以使用。
上述方法回传的是元组类型的行或列数据。
在讲解3-7节的两个函数前,读者需要先认识下列几个工作表对象ws的属性。
□ min_row: 可以回传工作表有数据的最小行数。
□ max_row: 可以回传工作表有数据的最大行数。
□ min_column: 可以回传工作表有数据的最小列数。
□ max_column: 可以回传工作表有数据的最大列数。
程序实例ch3_19_1.py: 假设有一个data3_19_1.xlsx工作簿工作表1内容如下,请使用此工作表列出 min_row 、 max_row 、 min_column 和 max_column 属性的内容。
执行结果
iter_rows( )方法产生的效果类似3-6节的rows属性,不过可以使用此方法设定遍历的区间。此函数包含4个参数,语法如下:
□ min_row和max_row: 可以设定逐行遍历的行区间。
□ min_col和max_col: 可以设定逐列遍历的列区间。
注 如果省略上述参数,表示遍历工作表所有行,更多相关细节将在3-7-4节和3-7-5节讲解。
程序实例ch3_19_2.py: 使用data3_19_1.xlsx工作簿工作表1,遍历行区间是2~3,列区间也是2~3。
执行结果
iter_cols( )方法产生的效果类似3-6节的columns属性,不过可以使用此方法设定遍历的区间。此函数包含4个参数,语法如下:
□ min_row和max_row: 可以设定逐行遍历的行区间。
□ min_col和max_col: 可以设定逐列遍历的列区间。
注 如果省略上述参数,表示遍历工作表所有列,更多相关细节将在3-7-4和3-7-5节解说。
程序实例ch3_19_3.py: 使用data3_19_1.xlsx工作簿工作表1,遍历行区间是2~3,列区间也是2~3。
执行结果
前面已经介绍过,可以使用 ws.iter_rows( ) 遍历所有的行数据,回传的是元组数据类型,在先前实例使用下列方式解析行数据,得到输出结果。
下列实例将输出cell的数据原型。
程序实例ch3_19_4.py: 使用ws.iter_rows( )遍历和输出所有的行数据原型。
执行结果
由上述输出我们知道 ws.iter_rows( ) 回传的 row 数据类型是 元组 (tuple),而元组的元素是openpyxl模块特有的数据类型,元素可以使用下列方式解析获得实际单元格的内容。 注 :下列指令笔者重复书写,主要是方便读者理解。
程序实例ch3_19_5.py: 将ch3_19_4.py的概念应用在 ws.iter_cols( ) ,遍历和输出所有的列数据原型。
执行结果
若是和ch3_19_4.py相比较,可以看到元组内元素组合不同,其余概念是类似的。
使用ws.iter_rows( )或是ws_iter_cols( )函数时,也可以加上下列参数:
有了这个参数可以让回传的元组元素显示单元格内容。
程序实例ch3_19_6.py: 增加参数重新设计ch3_19_4.py。
执行结果
上述可以获得容易理解的执行结果。
程序实例ch3_19_7.py: 增加参数重新设计ch3_19_5.py。
执行结果