Python批量實現(xiàn)word中查找關鍵字的示例代碼
一、背景
在日常辦公和文檔處理中,我們常常需要在大量的Word文檔中查找特定的關鍵字,然后進行接下來的操作,比如關鍵字替換等。手動逐個打開并搜索文檔顯然是費時費力的。因此,利用Python編寫一個批量實現(xiàn)Word中查找關鍵字的程序可以大大提高效率和減少工作負擔。
二、開發(fā)環(huán)境
- Python編程語言:Python是一種簡潔、易讀易寫的高級編程語言,具有強大的數(shù)據(jù)處理和文本處理能力。本地使用Python3.6版本。
- Python-docx庫:Python-docx是一個用于操作Microsoft Word文檔(.docx文件)的第三方庫,可以讀取和修改Word文檔內(nèi)容。
- 文本編輯器或集成開發(fā)環(huán)境(IDE):選擇一個適合你的編程習慣和需求的編輯器或IDE,例如Visual Studio Code、PyCharm等。本地使用PyCharm2022。
在搭建好開發(fā)環(huán)境后,我們將使用Python編寫程序來實現(xiàn)以下步驟:
- 安裝所需庫:通過命令行或Anaconda Prompt安裝Python-docx庫。
- 導入必要的庫:在Python代碼中引入所需的庫,例如import docx。
- 獲取Word文檔列表:使用Python的文件操作函數(shù)遍歷指定文件夾中的所有Word文檔,將它們的路徑存儲在一個列表中。
- 打開并讀取Word文檔:循環(huán)遍歷Word文檔列表,逐個打開文檔并讀取其內(nèi)容。
- 查找關鍵字:使用Python字符串操作函數(shù)在讀取的文檔內(nèi)容中查找指定的關鍵字。
- 輸出結果或執(zhí)行其他的操作:如果關鍵字在word中,則將文件移出到新建的文件夾中。
三、實現(xiàn)代碼
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:Awen
@file:task_test.py
@time:2023/07/04
@function:Python實現(xiàn)在word中批量查找關鍵字,如果關鍵字在word中,則將文件移出到新建的文件夾中
"""
import os
import shutil
from docx import Document
from docx.opc.exceptions import PackageNotFoundError
def search_keyword_in_word(keyword, file_path):
# 若報錯,則跳過,有的文件無法讀取成功
try:
document = Document(file_path)
found_paragraphs = []
for paragraph in document.paragraphs:
if keyword in paragraph.text:
found_paragraphs.append(paragraph.text)
return found_paragraphs
except PackageNotFoundError:
print(f"文件 '{file_path}' 未找到。")
pass
# 原文件夾路徑
source_file_path = 'D:\Pycharmproject2023\code_test_project\shan_test\正樣本終版\\'
# 搜索的關鍵字
keyword = '求職意向'
for filename in os.listdir(source_file_path):
try:
# 創(chuàng)建新文件夾,用于找到相應文件之后將其移入到該文件夾中
new_directory = os.path.join(source_file_path, "data123")
os.makedirs(new_directory, exist_ok=True)
if filename.endswith('.docx'):
print(filename)
result = search_keyword_in_word(keyword, source_file_path+filename)
for paragraph in result:
print(paragraph)
# 如果求職意向中包含java字樣,則是任務目標文件
if "java" in paragraph.lower():
new_file_path = os.path.join(new_directory, filename)
shutil.move(source_file_path+filename, new_file_path)
print(f"已移動文件: {filename}")
# # 刪除原文件夾中的文件
# os.remove(source_file_path+filename)
# print(f"已刪除文件: {filename}")
except Exception as e:
print(f"處理文件 '{filename}' 時出現(xiàn)錯誤: {str(e)}")
pass到此這篇關于Python批量實現(xiàn)word中查找關鍵字的示例代碼的文章就介紹到這了,更多相關Python word查找關鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站?
今天教各位小伙伴一個黑科技,用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站,文中有非常詳細的介紹,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05
Python+OpenCV 實現(xiàn)簡單的高斯濾波(推薦)
這篇文章主要介紹了Python+OpenCV 實現(xiàn)簡單的高斯濾波,在文中需要注意的是,這里我沒有特判當sigma = 0的時候的情況,具體實現(xiàn)過程跟隨小編一起看看吧2021-09-09
Python數(shù)據(jù)容器dict(字典)的實現(xiàn)
本文主要介紹了Python數(shù)據(jù)容器dict(字典)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點
這篇文章主要介紹了淺談tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06
Python中的type與isinstance的區(qū)別詳解
本文主要介紹了Python中的type與isinstance的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04

