利用python在word文档中查找关键字(支持多个文档和多个关键字)
生活随笔
收集整理的這篇文章主要介紹了
利用python在word文档中查找关键字(支持多个文档和多个关键字)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
'''#利用python查找word文檔中的關(guān)鍵詞,支持多個(gè)文檔和多個(gè)關(guān)鍵詞
'''
# 導(dǎo)入所需庫(kù)
import os,re
from docx import Document
global urur = "D:/test_doc" #全局變量讀取輸入路徑
# key_word = '模糊查詢' #全局變量讀取關(guān)鍵字def get_doc_path (path) :file_list = os.listdir(path)# 正則匹配路徑下所有.docx結(jié)尾的文件doc_list = [i for i in file_list if re.compile(r'\w+.docx').match(i)]#拼接ur進(jìn)入doc_list,獲得完整路徑for i in range(len(doc_list)):doc_list[i] = ur + '/' + doc_list[i]return doc_list
#以段落為單位切片,并查找關(guān)鍵字
def find_text (path,word):document = Document(path)all_paragraphs = document.paragraphslist1 = []for paragraph in all_paragraphs:str1 = paragraph.textif str1.find(word) != -1 :list1.append(str1)if list1 == [] :list1.append('未找到關(guān)鍵字')return list1# else:print('notfind')#獲取路徑下txt中的關(guān)鍵字并返回一個(gè)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_wordkey_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+1str(no)str1 = 'NO.' + str(no)document.add_paragraph(str1)#添加標(biāo)號(hào)document.add_paragraph(find_text(x,i)[num])#寫(xiě)入正文
document.save(ur + '/result.docx')
總結(jié)
以上是生活随笔為你收集整理的利用python在word文档中查找关键字(支持多个文档和多个关键字)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【error】Invalid ADAPT
- 下一篇: webpack4 入门配置研究