python docx模块读取word表格遇到合并单元格时的处理

python docx模块读取word表 遇到合并单元格时的处理

通过docx模块,读取word里面表格,并进行修改。
现在我遇到的表格是这样:
在这里插入图片描述
里面行,列均有合并单元格的情况,为了正确读取到位置,用下面代码做了个试验,判断每个单元格的行列号。

from docx import Document

if __name__ == "__main__":
    word_file_name = r"自动填表试验.docx"
    doc = Document(word_file_name)
    tables = doc.tables
    # 确定要填写第几张表
    table = tables[0]
    for i in range(0, len(table.rows)):
        row = table.rows
        for j in range(0, len(table.columns)):
            cell = table.cell(i,j)
            print(f"单元格({i},{j})的值为:{cell.text}\n")

运行完毕后,发现docx模块,在单元格判断上,是按行列细化成最多的单元格,和列。遇到合并的情况,对其进行行列拆分。

比如上表,在docx眼中,是这样的:
在这里插入图片描述

明白这点后,读取、修改指定单元格内容就变得很清楚了。

猜你喜欢

转载自blog.csdn.net/jayandchuxu/article/details/107929198