【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")

输出成果

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")

输出成果

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")

输出成果

test12_wordcloud_jieba_deladd.jpg

为什么在wordcloud本身具备分词功能的情况下还需jieba,对比第一张与第二、三张图,是不是不言而喻了呢?

有关jieba可以参考笔者「小郴编程」文集中:jieba从零到壹小白级入门(含代码示例)


继续卖卖关子,wordcloud真正高端玩法,下回不见不散!

☺引用转载还请注明作者说明出处哟!☺

上一篇下一篇

猜你喜欢

热点阅读