我要用python3.7写一段代码,主要任务是使用jieba对txt文档中的内容进行分词、统计词频、标注词性,并写入一个新的txt中,再使用wordcloud对词频结果绘制词云图
时间: 2024-03-27 15:36:11 浏览: 62
基于jieba & wordcloud的词云生成(完整源代码等)
5星 · 资源好评率100%
好的,以下是一个可以实现你想要的功能的Python 3.7代码示例:
```python
import jieba
import jieba.posseg as pseg
from collections import Counter
from wordcloud import WordCloud
# 读取文件内容
with open('input.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 对内容进行分词和标注词性
words = pseg.cut(content)
# 统计词频并按频率排序
word_freq = Counter([word.word for word in words])
sorted_word_freq = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)
# 将结果写入新文件
with open('output.txt', 'w', encoding='utf-8') as f:
for word, freq in sorted_word_freq:
f.write('{}\t{}\n'.format(word, freq))
# 绘制词云图
wordcloud = WordCloud(width=800, height=600, font_path='msyh.ttc')
wordcloud.generate_from_frequencies(word_freq)
wordcloud.to_file('wordcloud.png')
```
请注意,在运行此代码之前,你需要先安装`jieba`和`wordcloud`库。可以使用以下命令进行安装:
```
pip install jieba
pip install wordcloud
```
此外,你还需要将`msyh.ttc`字体文件放到代码文件所在的目录中,这是为了确保生成的词云图中的中文能够正常显示。
阅读全文