欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python批量替換多個Word文檔的多個關(guān)鍵字的方法

 更新時間:2025年08月14日 08:54:05   作者:碼無止盡  
有時,我們手頭上有多個Excel或者Word文件,但是領(lǐng)導(dǎo)突然要求對某幾個術(shù)語進行批量的修改,你是不是有要崩潰的感覺,所以本文給大家介紹了Python批量替換多個文檔的多個關(guān)鍵字的方法,需要的朋友可以參考下

嘿,各位小伙伴們,大家好!有沒有想過,如何在多個Word文檔中批量替換多個關(guān)鍵字?不用擔(dān)心,今天我來教大家一招,用Python輕松搞定這個問題!保證讓你分分鐘擁有處理文檔的超級魔法~

工具準(zhǔn)備

開始之前,我們需要一個神奇的工具:pywin32。別閑著,趕緊裝上:

pip install pywin32

先梳理一下思路

1.收集所有待處理的文檔路徑:小主們得準(zhǔn)備好一堆需要處理的Word文檔。

2.定義關(guān)鍵字替換列表:明確哪些關(guān)鍵字要被替換,以及替換后的內(nèi)容。

3.遍歷所有文檔并逐一替換:給這些文檔施展魔法,批量替換關(guān)鍵字。

神奇代碼來啦!

以下是實現(xiàn)上述功能的完整代碼:

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/待替換關(guān)鍵字的Word"
save_directory = "C:/Users/olive/Desktop/完成替換關(guān)鍵字的Word"
keywords = {
    "簽定": "簽訂",
    "商品": "產(chǎn)品",
}
 
replace_all_keywords_in_docxs(file_directory, save_directory, keywords)

代碼詳解

這段代碼首先定義了兩個函數(shù):

1.replace_all_keywords_in_docx函數(shù):它使用win32com庫中的Word應(yīng)用程序?qū)嵗?,在給定的Word文檔中遍歷關(guān)鍵字-替換詞典,執(zhí)行替換操作,并將修改后的文檔保存到指定路徑。

2.replace_all_keywords_in_docxs函數(shù):它遍歷指定目錄下的所有Word文檔,對每個文檔執(zhí)行關(guān)鍵字替換操作,并將修改后的文檔保存到指定的目錄。

在代碼的主要部分,定義了待處理文件目錄、保存文件目錄和關(guān)鍵字替換詞典,然后調(diào)用replace_all_keywords_in_docxs函數(shù)來執(zhí)行批量替換關(guān)鍵字的操作。

激動人心的測試

我們先準(zhǔn)備幾個Word文檔,在這里,我用之前的課程中生成過的合同文檔為例:

我們準(zhǔn)備了這三個合同文檔,我們打開一份文檔看一下:

這份文檔中,我們發(fā)現(xiàn)有幾個地方寫錯了,簽定應(yīng)該要改成簽訂,同時商品要改成產(chǎn)品。當(dāng)然,我們可以使用Word軟件的查找替換功能,但是當(dāng)有好多份文檔呢,要一份一份文檔打開查找替換,同時,如果有多個關(guān)鍵字錯了,還要執(zhí)行多次的查找替換,還容易看漏找錯,想想這工作量就恐怖。

現(xiàn)在,我們寫的代碼要閃亮登場了,一秒搞定。在運行我們的代碼之間,記得要先改一下你的文件路徑和關(guān)鍵字哦:

file_directory = "C:/Users/olive/Desktop/待替換關(guān)鍵字的Word"
save_directory = "C:/Users/olive/Desktop/完成替換關(guān)鍵字的Word"
keywords = {
    "簽定": "簽訂",
    "商品": "產(chǎn)品",
}

好了,現(xiàn)在可以運行我們的代碼了,激動人心的時刻來了,不要著急,我們運行完后,先看一下控制臺的輸出:

正在處理文件: 食品采購合同_好佳食品有限公司.docx
Replaced '簽定' with '簽訂'
Replaced '商品' with '產(chǎn)品'
正在處理文件: 食品采購合同_美食來食品有限公司.docx
Replaced '簽定' with '簽訂'
Replaced '商品' with '產(chǎn)品'
正在處理文件: 食品采購合同_胡記食品有限公司.docx
Replaced '簽定' with '簽訂'
Replaced '商品' with '產(chǎn)品'

ok,說明每份文檔都被執(zhí)行到了,對應(yīng)的關(guān)鍵字也被執(zhí)行替換了,我們隨便打開一份文檔檢驗一下吧:

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

結(jié)語

小伙伴們,看似復(fù)雜的批量替換操作,其實一點兒都不難吧!用上Python這門神器,處理文檔簡直不要太方便~快去試試,在工作中展示你的魔法技能吧!

到此這篇關(guān)于Python批量替換多個Word文檔的多個關(guān)鍵字的方法的文章就介紹到這了,更多相關(guān)Python批量替換Word關(guān)鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyQt5設(shè)置登錄界面及界面美化的實現(xiàn)

    PyQt5設(shè)置登錄界面及界面美化的實現(xiàn)

    這篇文章主要介紹了PyQt5設(shè)置登錄界面及界面美化的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 分享5個方便好用的Python自動化腳本

    分享5個方便好用的Python自動化腳本

    這篇文章主要介紹了分享5個方便好用的Python自動化腳本,這次我們使用Python來實現(xiàn)幾個自動化場景,或許可以用到你的工作中或者對你的學(xué)習(xí)有所幫助,需要的朋友可以參考一下
    2022-03-03
  • Flask 上傳自定義頭像的實例詳解

    Flask 上傳自定義頭像的實例詳解

    今天小編就為大家分享一篇Flask 上傳自定義頭像的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python安裝Pytorch最新圖文教程

    Python安裝Pytorch最新圖文教程

    這篇文章主要介紹了Python安裝Pytorch最新圖文教程,這里總結(jié)一下Pytorch的安裝教程,做好最快、最簡單、最好地完成安裝,需要的朋友可以參考下
    2023-04-04
  • Django模板過濾器和繼承示例詳解

    Django模板過濾器和繼承示例詳解

    初入python和django做項目,遇到很多前端頁面代碼冗余的情況,特別是頭部和腳部,代碼都是一樣的,所以下面這篇文章主要給大家介紹了關(guān)于Django模板過濾器和繼承的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 基礎(chǔ)的十進制按位運算總結(jié)與在Python中的計算示例

    基礎(chǔ)的十進制按位運算總結(jié)與在Python中的計算示例

    按位運算是計算機學(xué)習(xí)中的基礎(chǔ),Python完全支持位運算符從而幾乎可以直接顯示出位運算的結(jié)果,這里我們稍微總結(jié)一下基礎(chǔ)的十進制按位運算總結(jié)與在Python中的計算示例
    2016-06-06
  • python 項目目錄結(jié)構(gòu)設(shè)置

    python 項目目錄結(jié)構(gòu)設(shè)置

    JAVA有標(biāo)準(zhǔn)的maven目錄結(jié)構(gòu),golang也有建議的目錄結(jié)構(gòu),那么我想python是不是也有一個比較好的目錄結(jié)構(gòu)組織方式呢
    2020-02-02
  • python opencv 直方圖反向投影的方法

    python opencv 直方圖反向投影的方法

    這篇文章主要介紹了python opencv 直方圖反向投影的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 如何使用Python對日期和時間進行排序

    如何使用Python對日期和時間進行排序

    本文將教我們?nèi)绾问褂肞ython對日期和時間進行排序,我們還將學(xué)習(xí)datetime模塊和sorted方法,本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2023-06-06
  • Python tkinter庫繪制春聯(lián)和福字的示例詳解

    Python tkinter庫繪制春聯(lián)和福字的示例詳解

    馬上要過年了,這篇文章將用到Python中的tkinter庫來寫一副春聯(lián)&福字送給大家。文中的實現(xiàn)方法講解詳細,感興趣的小伙伴可以試一試
    2022-01-01

最新評論