Python批量替换多个Word文档的多个关键字的方法

2025-08-14 10:50

本文主要是介绍Python批量替换多个Word文档的多个关键字的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py...

嘿,各位小伙伴们,大家好!有没有想过,如何在多个Word文档中批量替换多个关键字?不用担心,今天我来教大家一招,用python轻松搞定这个问题!保证让你分分钟拥有处理文档的超级魔法~

工具准备

开始之前,我们需要一个神奇的工具:pywin32。别闲着,赶紧装上:

pip install pywin32

先梳理一下思路

1.收集所有待处理的文档路径:小主们得准备好一堆需要处理的Word文档。

2.定义关键字替换列表:明确哪些关键字要被替换,以及替换后的内容。

3.遍历所有文档并逐一替换:给这些文档施展魔法,批量替换关键字。

神奇代码来啦!

以下是实现上述功能的完整代码:

import os
 
from win32com import client
 
 
def replace_all_keywords_in_docx(file_path, save_path, keywords):
    word = client.Dispatch("Word.Application")
    word.Visible = False
    doc = word.Documents.Open(file_path)
 
    for old_text, new_text in keywords.items():
        find_obj = word.Selection.Find
        find_obj.ClearFormatting()
        find_obj.Text = old_text
        find_obj.Replacement.ClearFormatting()
        find_obj.Replacement.Text = new_text
        if find_obj.Execute(Replace=client.constants.wdReplaceAll):
            print(f"Replaced '{old_text}' with '{new_text}'")
    doc.SaveAs(save_path)
    doc.Close()
    word.Quit()
 
 
def replace_all_keywords_in_docxs(file_directory, save_directory, keywords):
    if not os.path.exists(save_directory):
        os.makedirs(save_directory)
    for file_name in os.listdir(file_directory):
        if file_name.endswith(".docx"):
            print("正在处理文件:", file_name)
            file_path = os.path.join(file_directory, file_name)
            save_path = os.path.join(save_directory, file_name)
            replace_all_keywords_in_docx(file_path, save_path, keywords)
 
 
file_directory = "C:/Users/olive/Desktop/待替换关键字的Word"
save_direpFjRVLXctory = "C:/Users/olive/Desktop/完成替换关键字的Word"
keywords = {
    "签定": "签订",
    "商品": "产品",
}
 
replace_all_keywords_in_docxs(file_directory, save_directory, keywords)

代码详解

这段代码首先定义了两个函数:

1.replace_all_keywords_in_docx函数:它使用win32com库中的Word应用程序实例,在给定的Word文档中遍历关键字-替换词典,执行替换操作,并将修改后的文档保存到指定路径。

2.replace_all_keywords_in_docxs函数:它遍历指定目录下的所有Word文档,对每个文档执行关键javascript字替换操作,并将修改后的文档保存到指定的目录。

在代码的主要部分,定义了待处理文件目录、保存文件目录和关键字替换词典,然后调用replace_all_keywords_in_docxs函数来执行批量替换关键字的操作。

激动人心的测试

php们先准备几个Word文档,在这里,我用之前的课程中生成过的合同文档为例:

Python批量替换多个Word文档的多个关键字的方法

我们准备了这三个合同文档,我们打开一份文档看一下:

Python批量替换多个Word文档的多个关键字的方法

这份文档中,我们发现有几个地方写错了,签定应该要改成签订,同时商品要改成产品。当然,我们可以使用Word软件的查找替换功能,但是当有好多份文档呢,要一份一份文档打开查找替换,同时,如果有多个关键字错了,还要执行多次的查找替换,还容易看漏找错,想想这工作量就恐怖。

现在,我们写的代码要闪亮登场了,一秒搞定。在运行我们的代码之间,记得要先改一下你的文件路径和关键字哦:

file_directory = "C:/Users/olive/Desktop/待替换关键字的Word"
save_directory = "C:/Users/olive/Desktop/完成替换关键字的Word"
keywords = {
    "签定": "签订",
    "商品": "产品",
}

好了,现在可以运行我们的代码了,激动人心的时刻来了,不要着急,我们运行完后,先看一下控制台的输出:

正在处理文件: 食品采购合同_好佳食品有限公司.docx
Replaced '签定' with '签订'
Replaced '商品' with '产品'
正在处理文件: 食品采购合同_美食来食品有限公司.docx
Replaced '签定' with '签订'
Replaced '商品' with '产品'
正在处理文件: 食品采购合同_胡记食品有限公司.docx
Replaced '签定' with '签订'
Replaced '商品' with '产品'

ok,说明每份文档都被执行到了,对应的关键字也被执行替换了,我们随便打开一份文档检验一下吧:

php

Python批量替换多个Word文档的多个关键字的方法

ok,替换成功,大功告成。

结语

小伙伴们,看似复杂的批量替换操作,其实一点儿都不难吧!用上Python这门神器,处理文档简直不要太方便~快去试试,在工作中展示你的魔法技能吧!

到此这篇关于Python批量替换多个Word文档的多个关键字的方法的文章就介绍到这了,更多相关Python批量替换Word关键字内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面android的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Python批量替换多个Word文档的多个关键字的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1155725

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Java方法重载与重写之同名方法的双面魔法(最新整理)

《Java方法重载与重写之同名方法的双面魔法(最新整理)》文章介绍了Java中的方法重载Overloading和方法重写Overriding的区别联系,方法重载是指在同一个类中,允许存在多个方法名相同... 目录Java方法重载与重写:同名方法的双面魔法方法重载(Overloading):同门师兄弟的不同绝

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp