遍历txt文件 提取关键词输出文档
时间: 2024-01-16 11:02:39 浏览: 124
关键词提取
好的,我可以为您提供以下的Python代码来实现这个功能:
```python
import os
import re
from collections import Counter
import jieba.analyse
# 读取文本文件,提取关键词并统计词频
def extract_keywords(filepath, topk=10):
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
# 使用jieba分词提取关键词
keywords = jieba.analyse.extract_tags(content, topK=topk)
# 统计关键词出现的次数
counter = Counter(keywords)
return dict(counter)
# 遍历指定目录下的所有txt文件,提取关键词并输出文档
def extract_keywords_from_dir(dirpath, topk=10):
# 遍历目录下的所有txt文件
for filename in os.listdir(dirpath):
if filename.endswith('.txt'):
# 构造文件的绝对路径
filepath = os.path.join(dirpath, filename)
# 提取关键词并统计词频
keywords = extract_keywords(filepath, topk)
# 将关键词和词频输出到文档中
with open('output.txt', 'a', encoding='utf-8') as f:
f.write(f'{filename}:\n')
for keyword, count in keywords.items():
f.write(f'\t{keyword}: {count}\n')
f.write('\n')
# 测试代码
if __name__ == '__main__':
# 指定目录路径和输出的关键词数量
dirpath = 'txt_files'
topk = 10
# 清空输出文档
with open('output.txt', 'w', encoding='utf-8') as f:
f.write('')
# 提取关键词并输出文档
extract_keywords_from_dir(dirpath, topk)
print('提取完成,结果保存在output.txt中')
```
这段代码会遍历指定目录下的所有txt文件,提取关键词并统计词频,最后将关键词和词频输出到output.txt文件中。您可以根据需要修改目录路径和输出的关键词数量。
阅读全文