1.调入jieba库(“结巴”)

jieba(结巴)是一款基于 Python 的中文分词库,可以将中文文本分割成一个个独立的词语。

中文文本的分词是自然语言处理中的一个重要任务。相比于英文等语言,中文的词汇是由汉字构成的,汉字之间没有空格或其他明显的分隔符,因此需要特殊的分词技术来进行分割。

jieba 库提供了多种分词模式,包括精确模式、全模式、搜索引擎模式等,可以满足不同应用场景的需求。除了分词功能外,jieba 还支持关键词提取、词性标注等功能,可以帮助用户更好地处理中文文本。

2.调入wordcloud库

一个简单易用的词云库,支持多种图形、颜色和字体。可以从文本中提取关键词,并根据词频生成词云。

1
2
import jieba
import wordcloud

如果你之前没用过这两个库,别忘了在终端输入指令载入库!!!

1
2
pip install jieba
pip install wordcloud

3.读取你本地保存的txt文件

记住,别忘了加入encoding=“utf-8”,因为如果你的文本有中文的话,需要使用utf-8模式

1
2
3
#打开文件(只读模式),注意,由于文本内容是中文,所以需要"utf-8"编码模式
with open('C:/Users/94152/Desktop/范进中举.txt','r',encoding="utf-8")as f:
temp=f.read()

4.文本→字符串列表→字符串

1
2
3
4
5
#将text文本变成一个只含有中文字符串的列表(标点符号并不在里面)
words=jieba.lcut(temp)

#将字符串列表转变成为字符串
words=" ".join(words)

5.通过词云,预设词云图片的形状

你可以根据你自己的需求来设定格式,第四行代码是中文字体样式,如果文本内容含有中文,你就必须使用一个字体样式,否则就会生成错误方格

1
2
3
4
5
6
7
#运用词云,将图片设置成宽1000,高1000,背景是白色的形状
#同时调用msyh.ttc文件,它是一个字体格式文件(调用它时,确保它和代码文件在同一个目录下)
p1=wordcloud.WordCloud(
width=1000,height=1000,
background_color="white",
font_path=r"C:/Users/94152/Desktop/msyh.ttc"
)

6.生成图片

1
2
3
4
5
#将文本转换为图像
p1.generate(temp)

#将词云保存到指定位置
p1.to_file("C:/Users/94152/Desktop/p1.png")

以下是生成的结果以及完整代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import jieba
import wordcloud

#打开文件(只读模式),注意,由于文本内容是中文,所以需要"utf-8"编码模式
with open('C:/Users/94152/Desktop/范进中举.txt','r',encoding="utf-8")as f:
temp=f.read()

#将txt文本变成一个只含有中文字符串的列表(标点符号并不在里面)
words=jieba.lcut(temp)

#将字符串列表转变成为字符串
words=" ".join(words)

#运用词云,将图片设置成宽1000,高1000,背景是白色的形状
#同时调用msyh.ttc文件,它是一个字体格式文件(调用它时,确保它和代码文件在同一个目录下)
p1=wordcloud.WordCloud(
width=1000,height=1000,
background_color="white",
font_path=r"C:/Users/94152/Desktop/msyh.ttc"
)

#将文本转换为图像
p1.generate(temp)

#将词云保存到指定位置
p1.to_file("C:/Users/94152/Desktop/p1.png")