600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python openpyxl合并单元格_用openpyxl分析xlsx文件的合并单元格

python openpyxl合并单元格_用openpyxl分析xlsx文件的合并单元格

时间:2021-07-29 23:07:14

相关推荐

python openpyxl合并单元格_用openpyxl分析xlsx文件的合并单元格

一般xlsx文件都有合并单元格,这些格子的内容一样,就没有必要让相同的数据多次出现,而且合并之后也更好看。openpyxl提供了一些接口,可以供我们分析xlsx文件的合并单元格,在自动化处理表格的过程中很有用。

merge的基础知识

xlsx文件合并单元格的时候,如果多个格子都有数据,只会保留左上角的格子数据作为合并之后单元格的数据。

合并单元格只保留左上角的数据

因此,使用openpyxl读取合并单元格的数据时,除了左上角的格子有数据,其它被合并的格子都没有数据!比如从A1到C1合并了,A1有数据,B1和C1是None。

如果对已经merged的区域做unmerge操作,还是只有左上角的格子有数据,其它格子都是None

ws.merged_cells.ranges

openpyxl的这个接口ws.merged_cells.ranges可以获取整个sheet中,所有merged cells。

>>> ws.merged_cells.ranges

[, ]

>>> ws.merged_cells.ranges[0]

>>> ws.merged_cells.ranges[1]

>>> ws.merged_cells.ranges[0].left

[(1, 2)]

>>> ws.merged_cells.ranges[0].right

[(1, 3)]

>>> ws.merged_cells.ranges[0].max_col

3

>>> ws.merged_cells.ranges[0].min_col

2

>>> ws.merged_cells.ranges[0].max_row

1

>>> ws.merged_cells.ranges[0].min_row

1

>>> ws.merged_cells.ranges[0].size

{'columns': 2, 'rows': 1}

以上这些数据,都可以被我们利用来判断某个具体的cell,是否在一个merged区域里面,然后我们就知道,它的值与这个区域左上角的cell value一样。

另外,openpyxl还可以可以通过编程实现merge和unmerge的功能,接口分别是ws.merge_cells和ws.unmerge_cells。

-- EOF --

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。