[特殊字符] Python 批量合并 Word 表格中重复单元格教程(收货记录案例实战)

python 相同内容的单元格合并 Merge_cells(ws, customer_list, start_row, "B") # "B" - 客户名称是在B列。Merge_cells(ws, pn_list, start_row, "C") # "C" - 产品编码是在C列。if i == len(target_list) - 1: #遍历到最后一行,按如下操作。reference = target_list[0] #设定基准,以列表中的第一个字符串开始。start = 0 #开始行计数,初试值为0,对应列表中的第1个元素的位置0。 阅读详情

在日常办公中,Word 表格中常出现重复的“供应商名称”或“物料编码”,会导致表格冗余且视觉混乱。这时候,用 Python 自动合并重复单元格可以大幅提升表格专业度和可读性。本篇给大家演示如何用 python-docx 实现该功能。

✅ 功能概览

  • 自动读取 Word 文件中的第一个表格;

  • 检测指定列中连续重复的单元格;

  • 合并重复项所在区域,留下首行内容;

  • 最终覆盖内容并保存至新文档。


🛠️ 核心函数:Merge_cells

这个函数可以实现按照列 index 合并 Word 表格中重复值连续区域:

def Merge_cells(table, target_list, start_row, col):
    """
    table       : docx Table 对象(目标表格)
    target_list : 待处理列值列表,按行顺序提取
    start_row   : 数据开始行,标题行除外,0 为第一行
    col         : 待合并列的列索引(0 起始)
    """
    start = end = 0
    reference = target_list[0]
    for i in range(len(target_list)):
        if target_list[i] != reference:
            reference = target_list[i]
            end = i - 1
            table.cell(start + start_row, col).merge(table.cell(end + start_row, col))
            start = end + 1
        if i == len(target_list) - 1:
            end = i
            table.cell(start + start_row, col).merge(table.cell(end + start_row, col))

 

🔄 完整流程:读取、合并、覆盖、保存 

from docx import Document

doc = Document("收货记录.docx")
table = doc.tables[0]

# 提取列数据
supplier = [table.rows[i].cells[1].text for i in range(1, len(table.rows)-1)]
pn       = [table.rows[i].cells[2].text for i in range(1, len(table.rows)-1)]

# 合并单元格
Merge_cells(table, supplier, start_row=1, col=1)
Merge_cells(table, pn, start_row=1, col=2)

# 重写覆盖内容以消除合并后空白
for i, row in enumerate(range(1, len(supplier)+1), start=1):
    table.cell(row, 1).text = supplier[i-1]
    table.cell(row, 2).text = pn[i-1]

doc.save("收货记录-合并单元格.docx")
  • table.rows 访问所有行;

  • 合并执行后,其他重复行内容清空,因此要覆盖填值;

  • 最终生成文件名带“合并单元格”的新文档。

🖼️ 结果展示区

 

 

⚙️ 技术详解 & 注意事项

  1. 合并操作只保留左上单元内容,其他单元秒变空白但保留格式;

  2. python-docx 的 Cell.merge() 接受两个对角单元格,自动合并区域中所有 cells python-docx.readthedocs.io;

  3. Word 表格支持跨行/跨列合并,merge() 方法基于布局网格处理;

  4. 处理完成后务必覆盖空白单元格,否则部分数据会丢失;

  5. 可扩展到任意列,只需按 col 参数调用函数。


🧠 总结

功能描述
自动合并自动识别并合并 Word 表格列中连续重复值
覆盖数据合并后补写内容,防止空白单元格产生
灵活调用可应用于任意列和场景,支持多列多表操作

这段代码适用于多情境,如“收货记录”“发票汇总”“项目进度表”,省时、高效、美观。如需支持列样式统一、支持拆分合并、或加入 progress bar 等功能,都可以继续扩展和完善,有需要的话随时告诉我!

 

模板驱动型文档自动化:零代码批量生成专业PDF 文档自动化是企业提升内容生产效率的核心技术,其本质是通过结构化模板与动态数据绑定,实现标准化文档的规模化、一致性输出。相比传统手动编辑或编程渲染(如Python+Jinja2),模板驱动方案以可视化逻辑、条件判断、跨数据源集成和样式继承为关键能力,显著降低使用门槛并提升业务响应速度。它广泛应用于投标文件、咨询报告、合同协议、SEO诊断报告等高频、高合规要求场景,尤其适合市场、HR、咨询、教培等非技术岗位。Sqribble作为典型代表,支持母版-章节-组件三级架构、Excel/JSON/API多源绑定及防错校 阅读详情

相关推荐

【信息科学与工程学】【安全领域】第十二篇 简述数据安全体系与保密技术

设计一个自适应窗口调整算法,本质上是为您的系统装备一个能够感知环境、智能决策的“自动驾驶”模式。核心在于明确您的核心目标(是优先延迟还是精度),然后据此精心设计触发条件和调整策略。

weixin_49199313的博客 1781

pyhton-docx表格合并单元格

我们debug的时候可以看到:合并后的单元格变为同一个id,因此对任意一个单元格的操作都会显示为这个合并后单元格整体的操作。合并单元格需要指定两个单元格,

呆萌的代Ma 2532

python自动办公源码_在Word表格中将上下行相同内容的单元格自动合并.rar

python源码实例可直接运行

python-docx.merge合并单元格

【代码】python-docx.merge合并单元格。

YHKKun的博客 2480

LC整流滤波电路DIY:电感电容配合,手把手搭建低纹波直流电源

在直流电源设计中,整流滤波是连接交流输入与稳定输出的关键环节。常见的电容滤波虽然简单,但在大负载下纹波抑制能力有限,电感抵抗电流突变、电容抵抗电压突变,二者组合构成的LC滤波能有效降低输出电压纹波,同时减小开机浪涌电流。在工频线性电源、功放电源等对噪声敏感的场景中,LC滤波常作为稳压前的平滑缓冲。本文以一套完整DIY项目为线索,介绍整流桥后串联功率电感、并联滤波电容的电路构成,结合实际计算与波形测试,讨论电感量估算、电容选取、谐振风险、饱和电流等工程问题,并给出上电测试和故障排查方法。通过搭建与调试,可直观

weixin_29168813的博客 377

Arduino Uno R3开发板系列学习教程(番外篇:USB驱动安装与疑难排解)

本文详细介绍了Arduino Uno R3开发板USB驱动安装与疑难排解的完整指南,特别针对国产克隆版常见的CH340驱动问题提供解决方案。从识别开发板类型到Windows/Mac系统驱动安装步骤,再到常见问题排查与高级排错技巧,帮助开发者快速解决连接问题,确保程序烧录顺利进行。

weixin_29182481的博客 583

Python 使用docx库合并word文档中的表格单元格

【代码】Python 使用docx库合并word文档中的表格单元格。

Hushi1706IT的博客 1953

RTC温度补偿:如何让时间分秒不差?

RTC(实时时钟)温度补偿技术通过"检测温度→计算误差→动态调整频率"的闭环机制,解决振荡器频率随温度变化导致的时间误差问题。核心步骤包括:1)高精度温度检测;2)基于温度-频率误差模型计算偏差;3)通过硬件(可编程电容/DAC)或软件方式调整振荡频率。该技术需突破温度检测精度、误差模型拟合、频率调整分辨率等关键点,根据不同应用场景(消费电子±5ppm至军工±0.1ppm)选择匹配方案。典型实现如STM32的分段线性补偿算法,可将工业级RTC精度提升至±2ppm以内。

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1229

模板驱动型文档自动化:无代码批量生成精准PDF的原理与实践

文档自动化是企业提升内容生产效率的核心技术路径,其本质是将结构化数据与预设文档逻辑进行确定性装配。区别于AI生成的内容不可控风险和传统邮件合并的功能局限,模板驱动型文档自动化以可视化模板为中枢,通过动态字段实现数据绑定、条件逻辑支撑业务规则、循环结构处理重复内容,并依托无代码编辑器大幅降低使用门槛。该技术显著提升财务合同、客户报告、合规文件等高确定性文档的生成精度与交付速度,广泛应用于销售报价单、法律协议、教育证书、订单凭证等场景,真正实现从‘手写作文’到‘智能填空’的范式升级。

wyjvip333的专栏 492

深入解析YT8521S千兆以太网PHY芯片的设计与调试要点

本文深入解析了YT8521S千兆以太网PHY芯片的设计与调试要点。重点剖析了硬件设计中的电源方案、RGMII接口电平配置(尤其是1.8V电平方案)以及PCB布局布线等关键细节,并提供了从硬件检查、驱动配置到性能测试的完整调试流程,帮助工程师规避常见陷阱,实现稳定可靠的千兆网络连接。

weixin_29190573的博客 688

从零到一:KUKA机械臂与ROS的工业级通讯协议深度解析

本文深度解析KUKA机械臂与ROS的工业级通讯协议,重点对比EKI与RSI两种核心接口的技术特点与应用场景。详细介绍了网络架构设计、数据包解析机制及ROS-I集成方法,并提供实时性能优化与故障排除策略,为工程师实现高可靠性工业自动化集成提供完整解决方案。

2a4s6d8f0g的博客 296

模板驱动型文档自动化:变量注入与自动渲染实战指南

文档自动化是企业提升内容生产力的关键技术,其核心在于将重复性文档生成从手工操作升级为结构化、可复用的工程实践。基于模板驱动原理,系统通过语义化解析文档结构,结合变量注入实现内容动态填充,并依托自动渲染引擎输出合规PDF。该技术兼顾确定性(满足审计、法务、ISO等强约束场景)与灵活性(支持条件渲染、循环列表、多数据源绑定),广泛应用于合同生成、产品说明书批量产出、客户分析简报及结业证书自动化等场景。Sqribble作为典型代表,深度融合Jinja2逻辑语法与Office格式语义理解,使非技术人员也能安全高效地

weixin_30873847的博客 378

FLUENT Meshing Watertight Geometry工作流入门 - 4 局部加密区域

总结一下本课程中学到的内容:我们了解了如何使用模型中特定兴趣区域的BOI和FOI局部尺寸控制来加密网格。然后,了解了如何使用Box类型的局部细化区域。最后,学习了Ansys Fluent Meshing Watertight Geometry Workflow的Offset Surface类型创建局部细化区域任务。

B_etter_Man的博客 6644

模板驱动型文档自动化:让重复文档生产变成可配置的工程

文档自动化是企业提效的关键技术路径,其核心在于将结构化文档从‘人工撰写’升级为‘模板驱动的可装配系统’。原理上,它通过结构层(定义章节逻辑)、内容层(绑定动态数据源)和呈现层(声明式样式规则)三层解耦,实现文档生成的高复用、强一致与低维护。技术价值体现在大幅降低格式错误率、消除跨系统数据语义漂移、支持非技术人员自主迭代模板。典型应用场景包括销售提案批量生成、教育练习册按需编排、法律合同条款智能填充等。本文聚焦Sqribble式模板驱动范式,深入解析状态机结构设计、语义化变量绑定与多端输出一致性保障等落地关键

cuili5839的博客 336

Python爬虫实战:微信小程序内容采集的全面指南

在移动互联网时代,微信小程序已成为企业和个人提供服务的重要渠道。小程序中包含了大量有价值的信息,但微信官方并未提供便捷的数据获取接口。本文将详细介绍如何使用Python爬虫技术采集微信小程序内容,包括最新技术方案、完整代码实现以及应对各种反爬机制的策略。小程序运行在微信封闭环境中,无法直接访问数据通信主要通过HTTPS加密传输内容动态加载,依赖JavaScript渲染微信有严格的反爬机制。

2201_76125261的博客 3117

Linux系统中u-boot启动流程分析(详解)

代码部分,具体如下;

嵌入式技术开发 1992

模板驱动文档自动化:零代码实现业务人员自助生成PDF

文档自动化是企业提升运营效率的关键技术路径,其核心在于解耦内容与格式,实现确定性输出。模板驱动模式通过预定义结构化模板与动态占位符绑定,规避AI生成的合规风险与代码定制的高维护成本,具备强可审计、易协作、低变更门槛等工程优势。该方案天然适配合同、对账单、发货单、Offer等高频标准化文档场景,支持API集成、条件渲染、重复区块等实用能力,使市场、销售、HR等非技术人员可自主完成从Excel数据到千份PDF的闭环交付,真正将文档从成本中心转化为可追溯、可治理的数字凭证。

cuemes08808的博客 799

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

AI落地不是选模型,而是选能扛住业务压力的供应商

人工智能(AI)在企业中的实际应用,本质是将算法能力嵌入现有业务流程的技术工程化过程。其核心挑战不在模型架构或参数规模,而在于数据治理成熟度、API集成稳定性、跨部门协作机制与合规响应能力等组织级能力。尤其当涉及合同审查、智能客服、工业质检等关键场景时,供应商对真实业务语义的理解深度、长尾案例处理鲁棒性、以及SLA保障水平,直接决定项目能否从Demo走向规模化交付。本文聚焦AI供应商选型与落地的实战方法论,覆盖沙箱验证、最小信任单元评估、安全合规共建、成本可追溯监控等七道关键关卡,为技术决策者提供可执行的组

weixin_30740295的博客 2622

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python-docx 合并单元格

python-docx 合并单元格

qq1261275789的博客 2623

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python操作Word表格,用docx,如何合并单元格?

在当今快节奏的工作环境中,自动化办公文档处理已经成为提高工作效率的重要手段之一。Python作为一种广泛使用的编程语言,凭借其强大的库支持,成为了处理各种文档的理想选择。特别是在Word文档的操作上,库为开发者提供了丰富的功能,使得创建、编辑、格式化Word文档变得更加简单高效。今天,我们将聚焦于一个常见但又颇具技巧性的问题:如何使用来合并Word表格中的单元格?

cda2024的博客 1607

【python-docx】添加表格、合并单元格、设置样式

添加表格很简单,只需要调用一下add_table()即可,返回一个Table对象,参数可以指定行、列、样式 1.2 添加行列 1.3 表格样式 2.行列对象 首先是一个表格(Table),表格里有行(Row)和列(Column),行或列里有单元格(Cell) python-docx中用_Row和_Column分别代表行和列,,用_Rows和_Columns表示多行多列,可以使用Table对象的rows和columns属性获取所有行列,如果想要访问行列里的单元格,可以进一步遍历 _Rows和_Column..

冰冷的希望的博客 2万+

chatgpt赋能python:Python如何合并相同的单元格

Python本身就是一种非常灵活的编程语言,广泛应用于科学计算、数据处理、机器学习等众多领域。其生态系统也非常丰富,有很多成熟的库和工具,可供选择。具体来说,通过使用Pandas等数据处理库,我们可以很容易地合并相同的单元格,同时还可以对数据进行各种预处理和转换。这样,我们就能更快、更准确地处理大量的数据。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT。

weixin_45566993的博客 696

python 生成word表格(合并单元格)

python 生成word表格(合并单元格) 本人使用pycharm,安装库python-docx 代码: from docx import Document from docx.shared import Inches, Pt from docx.oxml.ns import qn from docx.enum.text import WD_ALIGN_PARAGRAPH import time,datetime document = Document() document.styles['Normal

ww_lys的博客 4229

Python excel 合并居中值相同的单元格

前言 这里要说明一下,本文包含的代码并不是自己写的,是我找了很多文章拼凑出来的,比如如何找相同内容的单元格、怎么合并、怎么居中等等。出处许多,这边就不一个个放链接了。就当做一份自己写的学习笔记供大家参考。 本文结构 是分段讲解代码,文末放全部的代码 处理前的单元格 -----------------------> 可以看到有一些名字是重复的,我们现在要做的就是把这些重复的名字合并居中,程序执行完的效果如图。 (大家可能会说,这不是多此一举吗,直接点excel中的合并并居中不就好了? 但.

weixin_47597129的博客 5028

Python读取docx表格中的合并单元格信息

docx库读取word表格中的合并单元格信息

硫酸锌01的博客 8077

Python自动办公工具05-Word表中相同内容的单元格自动合并

本项目适合处理Word 文档(.docx)中的表格合并需求,用于检测指定列中内容相同的相邻单元格,并合并为一个单元格

qiao_yue的博客 741
上一篇: [特殊字符] Python 自动合并 Excel 中重复行 —— 提升表格可读性与美观度
下一篇: [特殊字符] Python 实战 | 从 Excel 提取数据 → 生成美观 Word 收货记录表格(含合并单元格 + 总计功能)
happydog007
博客等级 码龄5年 812粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

happydog007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值