用jieba分词,并且将关键词文本文档设为jieba的自定义词典,根据关键词文本文档的关键词对文件夹中各文本进行对应关键词词频统计,并且生成excel,excel的行为关键词文档中的文件词,列问文件夹中各文档名称,python怎么写
时间: 2023-04-08 15:04:16 浏览: 109
我可以回答这个问题。您可以使用以下代码来实现:
```python
import jieba
import os
import xlwt
# 读取关键词文本文档
with open('keywords.txt', 'r', encoding='utf-8') as f:
keywords = [line.strip() for line in f.readlines()]
# 将关键词文本文档设为jieba的自定义词典
for keyword in keywords:
jieba.add_word(keyword)
# 统计文件夹中各文本的关键词词频
file_freq = {}
for filename in os.listdir('folder'):
with open(os.path.join('folder', filename), 'r', encoding='utf-8') as f:
content = f.read()
freq = {}
for word in jieba.cut(content):
if word in keywords:
freq[word] = freq.get(word, 0) + 1
file_freq[filename] = freq
# 生成excel
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Sheet1')
for i, keyword in enumerate(keywords):
worksheet.write(i+1, 0, keyword)
for j, filename in enumerate(file_freq.keys()):
worksheet.write(0, j+1, filename)
freq = file_freq[filename]
for i, keyword in enumerate(keywords):
worksheet.write(i+1, j+1, freq.get(keyword, 0))
workbook.save('result.xls')
```
这段代码会读取名为`keywords.txt`的关键词文本文档,并将其中的关键词设为jieba的自定义词典。然后,它会遍历名为`folder`的文件夹中的所有文本文件,统计每个文件中关键词的词频,并将结果存储在一个字典中。最后,它会生成一个名为`result.xls`的excel文件,其中行为关键词文本文档中的文件词,列为文件夹中各文档名称,单元格中为对应的关键词词频。
阅读全文