'''
#利用python查找word文档中的关键词,支持多个文档和多个关键词
'''
# 导入所需库
import os,re
from docx import Document
global ur
ur = "D:/test_doc" #全局变量读取输入路径
# key_word = '模糊查询' #全局变量读取关键字
def get_doc_path (path) :
file_list = os.listdir(path)
# 正则匹配路径下所有.docx结尾的文件
doc_list = [i for i in file_list if re.compile(r'\w+.docx').match(i)]
#拼接ur进入doc_list,获得完整路径
for i in range(len(doc_list)):
doc_list[i] = ur + '/' + doc_list[i]
return doc_list
#以段落为单位切片,并查找关键字
def find_text (path,word):
document = Document(path)
all_paragraphs = document.paragraphs
list1 = []
for paragraph in all_paragraphs:
str1 = paragraph.text
if str1.find(word) != -1 :
list1.append(str1)
if list1 == [] :
list1.append('未找到关键字')
return list1
# else:print('notfind')
#获取路径下txt中的关键字并返回一个list
def read_keyword (add) :
with open(add+'/key_word.txt',encoding='utf=8') as f :
key_word = f.readlines()
for i in range(len(key_word)) :
key_word[i] = key_word[i].strip()#去除换行符
return key_word
key_word = read_keyword(ur)
print(key_word)
doc_path = get_doc_path(ur)
print(doc_path)
list_word = []
document = Document()
for x in doc_path :
document.add_heading(x,level=1)
for i in key_word :
document.add_paragraph(i , style='Intense Quote')
for num in range(len(find_text(x,i))):
no = num+1
str(no)
str1 = 'NO.' + str(no)
document.add_paragraph(str1)#添加标号
document.add_paragraph(find_text(x,i)[num])#写入正文
document.save(ur + '/result.docx')
python 搜索文件 Python搜索文件关键字
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
搜索文件中的关键字
首先2个思维: 第一个,如果这个文件是个目录,则把...
Java thread java System List -
搜索关键字— —搜索学习
搜狗搜索;知乎搜索 相见恨晚 好用不火 经典
搜索 javascript html -
python如何搜索文件中的关键字
html_doc = """<html><head><title>The Dormouse's story</title></head><p class="title"><b>The Dormouse's story</b></p><p class="story">On
python如何搜索文件中的关键字 find_all find 过滤器 find_parent -
jq 按钮绑定function
基于 prototype.js, v1.6 给元素动态绑定事件,之前在网上查到的是用bind方法,感觉不好理解,而且当动态绑定的方法又要加参数时就不好整了。 改用此方法比较好理解,写起来也简单方便。 $(myelements).setAttribute("onclick", "xxx();"); $(myelements).setAttribute
jq 按钮绑定function javascript function dialog button