第一帖——简析python如何生成词云

        本人是个编程老白,就是学了很多年,一直是会点皮毛,在学习上也没有点突破,所以大家不要笑话我,我只是把学习中遇到的问题,简单的介结下,能帮上您是我的荣幸,帮不上您就当是看个乐子。

        ‘词云’,这个词,我刚开始接触时,是一头雾水,可哪去搜,走了很多弯路。这几天在书店一本书上看到具体的说明,回到家,在电脑上一试,过然可以。我就把这个分享给大家,也做为我自己的备份吧。

我自己总结,简单的说‘词云’就是把一段话,或者一篇文章中所有的词做成一个图片,然后把文章中的文字显示出来。文章中出现频率大的词语,字体就会按比例大一些,出现频率小的,字体就小些。先说这么多,上例题,先建一个文件夹,命名为py

1. 首先要有一个文章,比如说我新建 了一个文本文件,就叫'例1.txt',内容我随便输入了,是"在上地一中叶是哧量 地珪二一光荣豆粕中煌扣肉烤肉kkslkgsd;号要看风使舵为gksd;豆类要楦可可写扣肉鬼吹灯排球为温都水城光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光",有了这个文本文件,保存在py文件夹下面,我们继续。

2. 要进行分词和产生词云,就需要下载两个python的第三方库,分别是分词用的库"jieba"和生成词云用的库"wordcloud".安装第三方库不说了,自己去搜吧。

3.如果生成了词云,那么是以什么样的字体显示词语呢?所以我们还需要有个字体库文件,要以到C盘windows文件夹下找到fonts文件夹,然后选个熟悉的字体,我找了一个楷体,复制到py文件夹下面后变成了simkai这个名字。用的时候要加上后辍,就是simkai.ttf

4.前面几步,我们已经在py文件夹下有了一个“例1.txt”,一个字体文件simkai。下面,我们就要进行文本文件的读取了。在读取前,我们先把jieba和wordcloud导入程序,备用。

5.import jieba
import wordcloud
f=open('例1.txt','r')
article=f.read()
f.close()
print(article)

保存并运行,python解释器显示结果如下:

在上地一中叶是哧量 地珪二一光荣豆粕中煌扣肉烤肉kkslkgsd;号要看风使舵为gksd;豆类要楦可可写扣肉鬼吹灯排球为温都水城光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光光

6.如果以上步骤成功了,那我们继续。

上面的显示结果说明 ,我们成功的打了'例1.txt'文件,并打印出来了。下面我们要进行分词的操作了。就要用到jieba了。

7.import jieba
import wordcloud
f=open('例1.txt','r')
article=f.read()
f.close()
print(article)
list1=jieba.lcut(article)
print(list1)

['在', '上', '地', '一', '中叶', '是', '哧', '量', ' ', '地', '珪', '二', '一', '光荣', '豆粕', '中煌', '扣肉', '烤肉', 'kkslkgsd', ';', '号', '要', '看风使舵', '为', 'gksd', ';', '豆类', '要', '楦', '可可', '写', '扣肉', '鬼吹灯', '排球', '为温', '都', '水城', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光', '光光']
通过分词可以看到,整篇文章变成了一个列表,我赋值给了list1.

而在制作词云的时候,不能用列表,需要用字符串,所以我们还要把列表list1转成字符串。

8.列表转成字符串,每项我用空格进行分隔。
import jieba
import wordcloud
f=open('例1.txt','r')
article=f.read()
f.close()
list1=jieba.lcut(article)
words=' '.join(list1)
print(words)
9.下面进行生成词云的操作。import jieba
import wordcloud
f=open('例1.txt','r')
article=f.read()
f.close()
list1=jieba.lcut(article)
words=' '.join(list1)
print(words)
w=wordcloud.WordCloud(width=800,height=600,font_path='simkai.ttf',max_font_size=60)
w.generate(words)
w.to_file('wordcloud.png')


你可能感兴趣的:(python,开发语言,后端)