Python 批量统计 docx 文件关键词词频并导出 Excel
以下是利用 Python 批量统计文件夹下 docx 文件中的特定关键词词频,并将输出结果导出到 excel 的代码:
import os
import docx
import openpyxl
from collections import Counter
# 定义要查找的关键词
KEYWORDS = ['apple', 'banana', 'orange']
# 定义统计结果存储的字典
result = {}
# 遍历文件夹下所有 docx 文件
for filename in os.listdir(path):
if filename.endswith('.docx'):
file_path = os.path.join(path, filename)
# 打开 docx 文件
doc = docx.Document(file_path)
# 统计词频
words = []
for para in doc.paragraphs:
words += para.text.split()
count = Counter(words)
for keyword in KEYWORDS:
result.setdefault(keyword, []).append(count[keyword])
# 将结果导出到 excel
wb = openpyxl.Workbook()
ws = wb.active
ws.title = '统计结果'
ws.append(['关键词'] + [os.path.basename(file) for file in os.listdir(path) if file.endswith('.docx')])
for keyword in KEYWORDS:
ws.append([keyword] + result[keyword])
output_file = os.path.join(path, '统计结果.xlsx')
wb.save(output_file)
说明:
- 首先定义了要查找的关键词,可以根据实际需要修改。
- 使用 os 模块遍历文件夹下所有 docx 文件,并打开每个文件。
- 对于每个文件,使用 docx 模块读取所有段落的文本,拆分成单词,并统计每个关键词的词频。
- 将统计结果存储在一个字典中,以便后续导出到 excel。
- 使用 openpyxl 模块创建一个新的 excel 文件,并将统计结果导出到其中。导出的表格第一行是文件名,第一列是关键词,每个单元格是对应关键词在对应文件中的词频。
注意事项:
- 在代码中的
path变量需要修改为要统计的文件夹路径。 - 代码中假设所有 docx 文件都在指定文件夹下,没有考虑子文件夹的情况,如果需要统计子文件夹中的文件,需要修改代码。
- 在导出结果到 excel 时,需要安装 openpyxl 模块,可以使用 pip 安装。
原文地址: http://www.cveoy.top/t/topic/mLFw 著作权归作者所有。请勿转载和采集!