Python批量实现word中查找关键字的示例代码

 更新时间:2023年07月13日 15:08:09   作者:Steven灬  
本文主要介绍了Python批量实现word中查找关键字的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 一、背景

在日常办公和文档处理中,我们常常需要在大量的Word文档中查找特定的关键字,然后进行接下来的操作,比如关键字替换等。手动逐个打开并搜索文档显然是费时费力的。因此,利用Python编写一个批量实现Word中查找关键字的程序可以大大提高效率和减少工作负担。

二、开发环境

  • Python编程语言:Python是一种简洁、易读易写的高级编程语言,具有强大的数据处理和文本处理能力。本地使用Python3.6版本。
  • Python-docx库:Python-docx是一个用于操作Microsoft Word文档(.docx文件)的第三方库,可以读取和修改Word文档内容。
  • 文本编辑器或集成开发环境(IDE):选择一个适合你的编程习惯和需求的编辑器或IDE,例如Visual Studio Code、PyCharm等。本地使用PyCharm2022。

在搭建好开发环境后,我们将使用Python编写程序来实现以下步骤:

  • 安装所需库:通过命令行或Anaconda Prompt安装Python-docx库。
  • 导入必要的库:在Python代码中引入所需的库,例如import docx。
  • 获取Word文档列表:使用Python的文件操作函数遍历指定文件夹中的所有Word文档,将它们的路径存储在一个列表中。
  • 打开并读取Word文档:循环遍历Word文档列表,逐个打开文档并读取其内容。
  • 查找关键字:使用Python字符串操作函数在读取的文档内容中查找指定的关键字。
  • 输出结果或执行其他的操作:如果关键字在word中,则将文件移出到新建的文件夹中。

三、实现代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author:Awen
@file:task_test.py
@time:2023/07/04
@function:Python实现在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:
        # 创建新文件夹,用于找到相应文件之后将其移入到该文件夹中
        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}' 时出现错误: {str(e)}")
        pass

到此这篇关于Python批量实现word中查找关键字的示例代码的文章就介绍到这了,更多相关Python word查找关键字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用Python监控你的朋友都在浏览哪些网站?

    用Python监控你的朋友都在浏览哪些网站?

    今天教各位小伙伴一个黑科技,用Python监控你的朋友都在浏览哪些网站,文中有非常详细的介绍,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • 详解Python图像处理中内存泄漏的问题解决方法

    详解Python图像处理中内存泄漏的问题解决方法

    在Python编程中,尤其是在图像处理领域,内存泄漏是一个不容忽视的问题,本文将深入探讨Python为何容易发生内存泄漏,以及如何有效检测和解决,希望对大家有所帮助
    2025-02-02
  • Python+OpenCV 实现简单的高斯滤波(推荐)

    Python+OpenCV 实现简单的高斯滤波(推荐)

    这篇文章主要介绍了Python+OpenCV 实现简单的高斯滤波,在文中需要注意的是,这里我没有特判当sigma = 0的时候的情况,具体实现过程跟随小编一起看看吧
    2021-09-09
  • 将python代码打包成.exe文件直接运行的具体步骤

    将python代码打包成.exe文件直接运行的具体步骤

    小编最近收到了一个小伙伴的问题,就是那么多有趣的代码,怎么发给别人,让没有python环境的小伙伴也可以使用呢,本文小编将带着大家探索如何将自己的python代码打包成.exe可执行文件,一起来看看吧
    2024-02-02
  • Python数据容器dict(字典)的实现

    Python数据容器dict(字典)的实现

    本文主要介绍了Python数据容器dict(字典)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 7个Python中的隐藏小技巧分享

    7个Python中的隐藏小技巧分享

    Python 是每个程序员都喜欢的语言,因为它易于编码和易于阅读的语法。但是,你知道 python 有一些很酷的技巧可以用来让事情变得更简单吗?在今天的内容中,我将与你分享7 个你可能从未使用过的Python 技巧
    2023-03-03
  • 浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点

    浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点

    这篇文章主要介绍了浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • OpenCV视频流Python多线程处理方法详细分析

    OpenCV视频流Python多线程处理方法详细分析

    为OpenCV是搞计算机视觉必须要掌握的基础,这篇文章主要给大家介绍了关于OpenCV视频流多线程处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python中的type与isinstance的区别详解

    Python中的type与isinstance的区别详解

    本文主要介绍了Python中的type与isinstance的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python实现运行其他程序的四种方式实例分析

    Python实现运行其他程序的四种方式实例分析

    这篇文章主要介绍了Python实现运行其他程序的四种方式,结合实例形式分析了Python执行其他程序相关模块与函数使用技巧,需要的朋友可以参考下
    2017-08-08

最新评论