Python批量实现word中查找关键字

这篇具有很好参考价值的文章主要介绍了Python批量实现word中查找关键字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、背景

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

二、开发环境

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

在搭建好开发环境后,我们将使用Python编写程序来实现以下步骤:文章来源地址https://www.toymoban.com/news/detail-570729.html

  1. 安装所需库:通过命令行或Anaconda Prompt安装Python-docx库。
  2. 导入必要的库:在Python代码中引入所需的库,例如import docx
  3. 获取Word文档列表:使用Python的文件操作函数遍历指定文件夹中的所有Word文档,将它们的路径存储在一个列表中。
  4. 打开并读取Word文档:循环遍历Word文档列表,逐个打开文档并读取其内容。
  5. 查找关键字:使用Python字符串操作函数在读取的文档内容中查找指定的关键字。
  6. 输出结果或执行其他的操作:如果关键字在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中查找关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux cat命令,显示多少行和查找关键字

    cat filename | tail -n 10 显示文件最后10行 cat filename | head -n 10 显示文件前面10行 cat filename | tail -n +10 从10行开始显示,显示10行以后的所有行 cat filename | head -n 50 | tail -n +10 显示10行到50行 cat filename1 filename2 | grep xxx 在filename1 和 filename2中查找xxx cat aaaa*.log | grep xxx 模糊匹配

    2024年02月16日
    浏览(58)
  • 【VSCode】设置关键字高亮的插件 | Highlight Word

    本文主要介绍在 VSCode 看代码时,怎样使某个单词高亮显示,主要通过以下三步实现: 安装 highlight-words 插件 配置 highlight-words 插件 设置高亮快捷键F8 工作是嵌入式开发的,代码主要是C/C++的,之前一直用 source insight 4 看代码,最近转到 VSCode ,使用 VSCode 看代码时,发现它居

    2024年02月11日
    浏览(59)
  • linux通过grep根据关键字查找日志文件上下文

    grep -C 10 keyword catalina.out 显示file文件中匹配keyword字串那行以及上下10行 grep -B 10 keyword catalina.out 显示keyword及前10行 grep -A 10 keyword catalina.out 显示keyword及后10行 grep -C 10 keyword catalina.out aaa.txt grep -o keyword catalina.out | wc -l grep -c keyword catalina.out grep -V

    2024年02月16日
    浏览(57)
  • 记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章

    项目以前签字都是由C端那边进行合成操作,最近项目要求把那块功能,由后端进行实现,其中包含坐标、、任意位置进行签字操作,坐标是最容易实现的,曾经也写过类似的功能在(添加图片印章到PDF)直接复用就可以了 为了实现位置签字,在网上查找了挺多

    2024年02月07日
    浏览(62)
  • 文件名替换,关键字替换改名:不同路径中的多个文件如何批量重命名

    在日常生活和工作中,我们经常需要处理大量的文件,包括重命名、分类、整理等操作。其中,批量重命名不同路径中的多个文件是一项非常常见的任务。本文将介绍云炫文件管理器常见的批量重命名方法:文件名替换改名,帮助您轻松应对不同路径中的多个文件的重

    2024年02月08日
    浏览(79)
  • poi-tl设置图片(通过word模板替换关键字,然后转pdf文件并下载)

    选中图片右击  选择设置图片格式   例如word模板   maven依赖   读取  代码

    2024年02月11日
    浏览(61)
  • Python如何操作RabbitMQ实现direct关键字发布订阅模式?有录播直播私教课视频教程

    发布者 消费者 生产者 消费者 生产者 消费者

    2024年01月17日
    浏览(68)
  • Python | assert关键字

    Python断言assert是帮助代码流畅的调试工具。断言主要是假设程序员知道或总是希望是真的,因此将它们放在代码中,这样这些失败不会允许代码进一步执行。 简单地说,断言是一个布尔表达式,用来检查语句是True还是False。如果语句为True,则不执行任何操作并继续执行,但

    2024年02月11日
    浏览(60)
  • python之except关键字

    在python中,except是用于处理异常的,通常与\\\'try\\\'一起使用。异常处理的基本结构是通过try块包裹可能发生异常的代码,然后使用except块捕获和处理可能发生的异常。 如果在try块中发生异常,python会跳转到与异常类型匹配的except块,执行相应的异常处理代码。 示例:

    2024年01月16日
    浏览(54)
  • Python Selenium 关键字驱动

    目录 项目目录结构  action目录 config目录 exceptionpictures目录 log目录 testCases目录

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包