You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用python-docx库合并Word表格同列重复内容的单元格?

使用python-docx合并同列相邻相同内容的单元格

要实现同列中与上一行内容相同的单元格合并,并移除重复值,可以通过按列遍历表格、跟踪相同内容块、调用单元格合并方法来完成。以下是具体实现方案:

完整代码实现

from docx import Document
from docx.enum.table import WD_ALIGN_VERTICAL

def merge_same_cells_in_columns(table):
    row_count = len(table.rows)
    col_count = len(table.columns)
    
    for col_idx in range(col_count):
        prev_text = None
        start_row = 0
        
        for row_idx in range(1, row_count):
            curr_cell = table.cell(row_idx, col_idx)
            curr_text = curr_cell.text.strip()
            
            # 触发合并的条件:内容不同 或 到达最后一行
            if curr_text != prev_text or row_idx == row_count - 1:
                end_row = row_idx - 1 if curr_text != prev_text else row_idx
                # 只有当相同内容块超过1行时才执行合并
                if end_row > start_row:
                    start_cell = table.cell(start_row, col_idx)
                    end_cell = table.cell(end_row, col_idx)
                    start_cell.merge(end_cell)
                    # 合并后设置垂直居中,优化显示效果
                    start_cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER
                # 更新跟踪的起始行和参考文本
                start_row = row_idx
                prev_text = curr_text
            else:
                # 清空当前单元格的重复内容
                curr_cell.text = ""

# 示例调用
if __name__ == "__main__":
    # 读取已有文档中的表格
    doc = Document("your_document.docx")
    target_table = doc.tables[0]  # 取第一个表格,可根据需求调整索引
    
    # 执行合并操作
    merge_same_cells_in_columns(target_table)
    
    # 保存处理后的文档
    doc.save("merged_document.docx")

核心逻辑说明

  1. 按列遍历:先循环表格的每一列,再逐行比较当前单元格与上一行的内容
  2. 跟踪相同内容块:用start_row记录当前相同内容的起始行,prev_text存储上一行的内容作为参考
  3. 合并单元格:当遇到不同内容或表格最后一行时,合并从start_row到当前内容块末尾的单元格
  4. 移除重复值:在发现当前单元格与上一行内容相同时,直接清空当前单元格的文本,确保合并后仅保留第一个单元格的内容

注意事项

  • 若单元格包含富文本格式(如加粗、换行),需调整内容比对逻辑(比如直接用curr_cell.text而非strip()后的内容)
  • 若表格已有合并单元格,需先处理原有合并结构,避免出现合并异常
  • 操作前建议备份原文档,防止数据丢失

内容的提问来源于stack exchange,提问作者Comrade Che

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:18:30