运用jieba库 寻找高频词

一、准备

1.首先 先用cmd 安装 jieba库,输入 pip install jieba

运用jieba库 寻找高频词

2.其次 本次要用到wordcloud库和 matplotlib库,也在cmd输入pip install matplotlib和pip install wordcloud

二、安装完之后,输入如下代码

 from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
def create_word_cloud(filename):
text = open("[轻之国度][川原砾][刀剑神域][01][艾恩葛朗特 上].txt","r",encoding='GBK').read() #打开自己想要的文本
wordlist = jieba.cut(text, cut_all=True) # 结巴分词
wl = " ".join(wordlist)
wc = WordCloud( #设置词云
background_color="white", # 设置背景颜色
max_words=20, # 设置最大显示的词云数
font_path='C:/Windows/Fonts/simfang.ttf', # 索引在C盘上的字体库
height=500,
width=500,
max_font_size=150, # 设置字体最大值
random_state=150, # 设置有多少种随机生成状态,即有多少种配色方案
)
myword = wc.generate(wl) # 生成词云
plt.imshow(myword) # 展示词云图
plt.axis("off")
plt.show()
wc.to_file('img_book.png') # 把词云保存下
txt=open("[轻之国度][川原砾][刀剑神域][01][艾恩葛朗特 上].txt","r",encoding='GBK').read() #打开自己想要的文本
words=jieba.lcut(txt)
counts={}
for word in words:
if len(word)==1: #排除单个字符的分词结果
continue
else :
counts[word]=counts.get(word,0)+1
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(20):
word,count=items[i]
print ("{0:<20}{1:>5}".format(word,count))
if __name__ == '__main__':
create_word_cloud('[轻之国度][川原砾][刀剑神域][01][艾恩葛朗特 上]')

运用jieba库 寻找高频词

输入之后的界面按下F5

三、运行完毕出现的效果图

运用jieba库 寻找高频词

这里是搜索全文的前20个高频词

运用jieba库 寻找高频词

云词展示 完毕

上一篇:Codeforces 749D:Leaving Auction(set+二分)


下一篇:工作随笔——selenium支持post请求,支持自定义header