【Python 3+】wordcloud词云入门系列(五):读取
2019-12-11 本文已影响0人
藝小郴
【本文目录】
一、读取外部.txt文件制作词云
二、wordcloud与jieba双剑合璧
一、读取外部.txt文件制作词云
外部.txt内容,请保存为utf-8编码格式(如图),否则采用encoding='utf-8'读取文件时会报错。
txt存为utf-8编码格式.jpg
大学之道,在明明德,在亲民,在止于至善。知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。
古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知。致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。自天子以至于庶人,壹是皆以修身为本。
其本乱而末治者,否矣。其所厚者薄,而其所薄者厚,未之有也。此谓知本,此谓知之至也。
代码示例
import wordcloud
# 读取当前项目路径中的.txt文件
with open("test10_daxue.txt",'r',encoding='utf-8') as f:
text = f.read()
# 以下字体为Windows系统中C:\Windows\Fonts中的微软雅黑
font = r'C:\Windows\Fonts\msyh.ttf'
# 实例化对象
w = wordcloud.WordCloud(font_path=font,scale=6)
# 调用generate方法将文本传入生成wordcloud
w.generate(text)
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
w.to_file("test10_readExternalFile.jpg")
输出成果
二、wordcloud与jieba双剑合璧
(一)为啥jieba要来凑热闹
代码示例
import wordcloud
import jieba
# 读取当前项目路径中的.txt文件
with open("test10_daxue.txt",'r',encoding='utf-8') as f:
text = f.read()
# 将读取的外部文件进行jieba分词,并赋值给制作云词的变量
jieba_text = ' '.join(jieba.cut(text))
w = wordcloud.WordCloud(font_path='msyh.ttf',scale=6)
w.generate(jieba_text)
w.to_file("test11_wordcloud_jieba.jpg")
输出成果
(二)进一步发挥jieba功效
代码示例
import wordcloud
import jieba
# 读取当前项目路径中的.txt文件
with open("test10_daxue.txt",'r',encoding='utf-8') as f:
text = f.read()
jieba.del_word("而后")
jieba.del_word("明明")
jieba.del_word("此谓")
jieba.add_word("大学之道")
# 将读取的外部文件进行jieba分词,并赋值给制作云词的变量
jieba_text = ' '.join(jieba.cut(text))
w = wordcloud.WordCloud(font_path='msyh.ttf',scale=6)
w.generate(jieba_text)
w.to_file("test12_wordcloud_jieba_deladd.jpg")
输出成果
为什么在wordcloud本身具备分词功能的情况下还需jieba,对比第一张与第二、三张图,是不是不言而喻了呢?
有关jieba可以参考笔者「小郴编程」文集中:jieba从零到壹小白级入门(含代码示例)
继续卖卖关子,wordcloud真正高端玩法,下回不见不散!
☺引用转载还请注明作者说明出处哟!☺