概述
使用python3读取Excel内容,包含读取纵向合并单元格和横向合并单元格。
pyexcel.png
其中,在D2、D3、D4单元格为合并单元格,我们希望第3行和第4行都可以用“诸葛亮”这个值,该怎样读取呢?
请往下读
环境
python3
xlrd==1.0.0
思路
从左往右,一格一格读取单元格
如果碰到某个单元格是合并单元格,则进行解析
获取sheet页中所有的合并单元格坐标信息
判断要读取的该单元格坐标,是否在合并单元格坐标内
如果在,读取该合并单元格的值并返回
把读取的值,设置到实体类中
对实体类进行操作,录入数据库或者其他处理
难点解析
获取所有的合并单元格
使用sheet.merged_cells可以获取页面中所有的合并单元格坐标。类似:
[(4, 5, 2, 4), (5, 6, 2, 4), (1, 4, 3, 4)]
格式的数据,(4, 5, 2, 4)的含义为:行 从下标4开始,到下标5(不包含) 列 从下标2开始,到下标4(不包含),为合并单元格,即C5-有勇有谋,单骑救主 这个合并单元格
判断某一格是否属于合并单元格,如果是,则返回合并单元格的值
def get_