1.准备工作
环境要求:Jupyter、python3.7,jieba库,wordcloud库,matplotlib库
2.python代码
#! python3 # -*- coding: utf-8 -*- import os, codecs import jieba from collections import Counter def get_words(txt): seg_list = jieba.cut(txt) #对文本进行分词 c = Counter() for x in seg_list: #进行词频统计 if len(x)>1 and x != '\r\n': c[x] += 1 print('常用词频度统计结果') for (k,v) in c.most_common(20): #遍历输出高频词 print('%s%s %s %d' % (' '*(5-len(k)), k, '*'*int(v/3), v)) if __name__ == '__main__': with codecs.open('19d.txt', 'r', 'utf8') as f: txt = f.read() get_words(txt)
3.显示效果
4.相应词云
代码
import jieba import wordcloud f = open("19d.txt","r",encoding = "utf-8") #打开文件 t = f.read() #读取文件,并存好 f.close() ls = jieba.lcut(t) #对文本分词 txt = " ".join(ls) #对文本进行标点空格化 w = wordcloud.WordCloud(font_path = "msyh.ttc",width = 1000,height = 700,background_color = "white") #设置词云背景,找到字体路径(否则会乱码) w.generate(txt) #生成词云 w.to_file("govermentwordcloud.png") #保存词云图
显示效果
技术总结
1.文件打开时,要注意文件路径是否正确;如果直接使用open打开文件,要把程序与文件放在同一文件夹的同一层级
2.一定要引用字体,否则会出现乱码,引用字体时,路径一般为C:\Windows\Fonts(Windows 10)
3.如果安装库出错,一定要认真看报错内容,最好上相应GitHub官网查看issues版块,一般可以找到解决方案
4.如果要找教程最好找最近时间内的,如果时间久远可能会出现不兼容问题(库更新了)
引用
https://blog.csdn.net/qq_41510951/article/details/82288807