python3在word文档中查找多行文字是否存在

工作中碰到这样一个情况:有多个关键词存在文本文档txt中,想查找下在某个较大的word文档中,这些关键词是否都含有,没有关键词的显示出来。

因为关键词比较多,并且这个工作还是经常会有的,这个情况我试着用Python3写代码解决。

分析后,需要用到的模块有:docx,另外还有txt文档的读取和字符串的匹配。

首先是安装docx模块  pip install python-docx

具体实现代码如下:

import docxpath = "F:\\check\\source.docx"
def readDocx(docName):                 #创建读取doc文档内容的函数,去除格式    fullText = []    doc = docx.Document(docName)    paras = doc.paragraphs    for p in paras:        fullText.append(p.text)    return ‘\n‘.join(fullText)doccontent=readDocx(path)

textcon= open(‘F:/check/findtext.txt‘,‘r‘,encoding=‘utf-8‘)           #只读方式打开text文件b

j=0                        #用于显示txt文档中的行号
for i in textcon:    linecon=i.strip()            #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列    j=j+1
    if linecon not in doccontent:        print(linecon)        print(j)
textcon.close()

写在后面的话:

1.查找字符串时,原计划用re函数匹配

compiletext=re.compile(r‘\wlinecon\w‘)
result_comp = compiletext.findall(doccontent.paragraphs)

因读取docx时,是带格式的,结果使用re函数怎么运行都报错:TypeError: expected string or bytes-like object

解决办法参考blog:https://www.cnblogs.com/wrajj/p/4914102.html

2.字符串的匹配,原来想用正则表达式中的函数来解决,结果试了半天,才发现字符串匹配有很简单的方式,详情见blog:https://www.cnblogs.com/huiAlex/p/7994606.html
 

原文地址:https://www.cnblogs.com/jintianniu/p/11612019.html

时间: 2024-10-07 03:36:41

python3在word文档中查找多行文字是否存在的相关文章

(转) 如何在Excel和Word文档中插入GIF动画

Office Excel 和Word文档中插入图片很容易做到,但是要插入GIF动画,并且还要能让这个动画动起来,就不能依照普通的“插入 → 图片 → 来自文件”的方法了,否则的话即便是把GIF插入进去,也只是个静态的画面,并不能够动起来.要想实现动画的目的,就得借助VB中的一个特殊的插件 —— AniGIF.ocx(在PPT中无需这个插件).本文就以Excel 2003为例,对如何安装及使用这个插件做一介绍(在Word中的情况类同,可参考). 1. 下载.破解及安装AniGIF.ocx 首先到C

将图片文字转换到Word文档中的简单方法

怎样将图片文字转换到Word文档呢?很多人在处理图片文件需要将文字整理到Word文档中的时候都比较头疼,如果单纯靠手动录入的方式简直太麻烦了,下面小编就来为大家分享一种简单的转换方法,一起来看看吧! 辅助工具:电脑 迅捷OCR文字识别软件 实用系数:☆☆☆☆☆ 推荐理由:该软件是一款智能化的OCR图片文字识别软件,支持PDF识别.扫描件识别.图片文字识别.CAJ识别.票证识别.图片局部识别等功能,快速解析.精准识别. 操作步骤: 1:先在电脑中将待会需要使用到的文字识别软件打开,关闭自动弹窗,这

怎样翻译word文档中的英文,仅需三分钟即可搞定

怎样翻译word文档中的英文?在职场办公当中,难免会遇到外国客户.在与外国客户沟通.合作的过程当中,所使用得合作文件.资料的内容几乎都是英文.这也就使得英文不好的职员,除了准备合作资料外还需要花费大量时间去查阅单词,翻译语句,大大降低了工作效率.今天小编就将告诉大家如何快速有效地翻译word文档中的英文. 使用工具:迅捷pdf转换https://www.xunjiepdf.com/converter 1.大部分翻译工具,都只能单个单词或者逐句翻译,就算能翻译整段也是有次数限制.这样就会导致翻译出

散列表:WORD文档中如何检测单词的拼写错误

散列表:WORD文档中如何检测单词的拼写错误 散列表用的是数组支持按照下标随机访问数据的特性,所以散列其实是数组的一种扩展,由数组演化而来. 散列表(哈希表 Hash Table):由散列函数(哈希函数)和数组构成,底层存储数据的是数组. 散列函数(键转化为散列值即数组下标)的设计: 散列值是非负整数: if key1 = key2, then hash(key1) == hash(key2); if key1 != key2, then hash(key1) != hash(key2). 散列

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

把word文档中的所有图片导出

把word文档中的所有图片导出 end

【Linux】用grep在文档中查找内容

有时候,我们需要在文档中查找一些内容,常用grep.它在文档查找相关内容并输出匹配行. > 查找某关键字 在system.log中,查找包含keyword的行 grep 'keyword' system.log 查找时附带输出行号,方便查看 grep -n 'keyword' system.log > 默认支持基本正则表达式 查找以2015-09-24开头的行 grep '^2015-09-24' system.log > 支持扩展正则表达式 正则表达式应用在各个领域,用它配合grep查

利用POI操作不同版本word文档中的图片以及创建word文档

我们都知道要想利用java对office操作最常用的技术就应该是POI了,在这里本人就不多说究竟POI是什么和怎么用了.先说本人遇到的问题,不同于利用POI去向word文档以及excel文档去写入数据和向外导出数据并且保存到数据库中这些类似的操作,由于业务上的需要需要利用POI去读取word中的图片,并且去把图片去保存为一个file文件.查了Apache公司提供的api帮助文档,再网友的一些线索,本人也总结了几中对不同word版本(.doc或者是.docx结尾)对于文件中所含图片的操作方式,希望

利用POI操作不同版本号word文档中的图片以及创建word文档

我们都知道要想利用java对office操作最经常使用的技术就应该是POI了,在这里本人就不多说到底POI是什么和怎么用了. 先说本人遇到的问题,不同于利用POI去向word文档以及excel文档去写入数据和向外导出数据而且保存到数据库中这些类似的操作,因为业务上的须要须要利用POI去读取word中的图片,而且去把图片去保存为一个file文件.查了Apache公司提供的api帮助文档,再网友的一些线索,本人也总结了几中对不同word版本号(.doc或者是.docx结尾)对于文件里所含图片的操作方