购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3-7 iter_rows( )和iter_cols( )方法

建立了工作表对象后,有下列两个方法可以使用。

上述方法回传的是元组类型的行或列数据。

3-7-1 认识属性

在讲解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 属性的内容。

执行结果

3-7-2 iter_rows( )

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。

执行结果

3-7-3 iter_cols( )

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。

执行结果

3-7-4 遍历所有列与认识回传的数据

前面已经介绍过,可以使用 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相比较,可以看到元组内元素组合不同,其余概念是类似的。

3-7-5 参数values_only=True

使用ws.iter_rows( )或是ws_iter_cols( )函数时,也可以加上下列参数:

有了这个参数可以让回传的元组元素显示单元格内容。

程序实例ch3_19_6.py: 增加参数重新设计ch3_19_4.py。

执行结果

上述可以获得容易理解的执行结果。

程序实例ch3_19_7.py: 增加参数重新设计ch3_19_5.py。

执行结果 KnUYT4/oQXomzn0z+2Ggcx9wv6Ch+6U5ZFZ3ftaHN60Rip3OpzSJBXjH/tV2yMvV

点击中间区域
呼出菜单
上一章
目录
下一章
×