python使用openpyxl读取合并单元格的值
程序员文章站
2022-03-13 11:57:34
目录问题:假设在test.xlsx的“sheet1”工作表中,a1:d3区域的值如下:要求给定指定的行、列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定单元格的值。如果直接根据行列获取对应...
问题:
假设在test.xlsx的“sheet1”工作表中,a1:d3区域的值如下:
要求给定指定的行、列以及对应的工作表作为参数,能够正确解析合并单元格,获取指定单元格的值。
如果直接根据行列获取对应单元格的值,则合并单元格非左上角的其他单元格都会获取到none值,如下:
解决思路:
获取到对应单元格后,判断该单元格是否为合并单元格,如果是,则找到该合并区域并获取左上角的值返回。
通过 sheet.merged_cell_ranges属性,可以获取当前工作表所有的合并区域列表:
测试代码:
结果如下:
我们巡着openpyxl.worksheet.merge.mergedcellrange查找其源码,发现定义了in操作,可以直接通过in确认某个坐标是否位于区域内
这时候我们已经基本具备获取合并单元格的条件了。
完整代码如下:
结果如下:
第1行第1列:1
第1行第2列:2
第1行第3列:3
第1行第4列:8
第2行第1列:1
第2行第2列:4
第2行第3列:5
第2行第4列:8
第3行第1列:6
第3行第2列:7
第3行第3列:7
第3行第4列:8
到此这篇关于python使用openpyxl读取合并单元格的值的文章就介绍到这了,更多相关python openpyxl读取合并单元格内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: Ajax使用json前后台交互代码分析
下一篇: 前端精灵效果实现代码
推荐阅读
-
在python中使用xlrd获取合并单元格的方法
-
Java使用POI解析各种单元格合并的行数、列数和单元格值
-
Python使用OpenPyXl设置Excel表格中的单元格大小(行高和列宽)
-
python使用openpyxl读取合并单元格的值
-
Python-openpyxl对excel取消/合并单元格,以及修改单元格值
-
python openpyxl 获取合并的单元格列表,筛选解除单元格合并
-
在python中使用xlrd获取合并单元格的方法
-
PHP读取excel中合并的单元格的值
-
Python如何使用xlrd实现读取合并单元格
-
Python使用OpenPyXl设置Excel表格中的单元格大小(行高和列宽)