最近遇到了这样一个需求,有非常多的文件,老板让我挨个在这些文件里找某某关键词。
这种繁复的操作当然不能真的人工去做,我选择用python
首先,需要获取所有的docx文件名,方便后续在docx文件中查找。
import os
def search_files(directory):
# 创建一个空列表用来保存结果
result = []
# 遍历文件夹中的所有文件
for root, _, files in os.walk(directory):
for file in files:
# 如果文件是 docx 文件,就将文件名添加到结果列表中
if file.endswith('.docx'):
result.append(file)
return result
获取 docx 文件名后,依次打开并读取即可
import docx
def search_file(file_names, text):
# 读取 docx 文件
for file_name in file_names:
doc = docx.Document(file_name)
# 遍历文件中的所有段落
for paragraph in doc.paragraphs:
# 如果段落中包含特定文本,就返回 True
if text in paragraph.text:
print(file_name)
break
完整代码如下:
import os
def search_files(directory):
# 创建一个空列表用来保存结果
result = []
# 遍历文件夹中的所有文件
for root, _, files in os.walk(directory):
for file in files:
# 如果文件是 docx 文件,就将文件名添加到结果列表中
if file.endswith('.docx'):
result.append(file)
return result
import docx
def search_file(file_names, text):
# 读取 docx 文件
for file_name in file_names:
doc = docx.Document(file_name)
# 遍历文件中的所有段落
for paragraph in doc.paragraphs:
# 如果段落中包含特定文本,就返回 True
if text in paragraph.text:
print(file_name)
break
# 搜索文件夹中的 docx 文件
file_names = search_files('C:/Users/CauZh/Desktop/党政联席会')
# 搜索特定文本
search_file(file_names, '研究生')
试运行:

2023年1月14日13:57:27
文章讲述了如何使用Python编程语言,结合docx库,来自动化搜索大量docx文件中包含特定关键词的内容。通过搜索_files()函数获取docx文件名,然后用search_file()函数检查每个文件是否包含目标文本。
916

被折叠的 条评论
为什么被折叠?



