生成一个包含多个文本文件的词云,可以将所有文本文件合并为一个字符串,然后将该字符串传递给WordCloud类生成词云对象。下面是一个示例代码:
# 导入必要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import os
# 读取多个文本文件并合并为一个字符串
text = ''
for file_name in os.listdir('text_files'):
if file_name.endswith('.txt'):
with open(os.path.join('text_files', file_name), 'r', encoding='utf-8') as f:
text += f.read()
# 生成词云对象
wordcloud = WordCloud(background_color="white").generate(text)
# 显示词云图
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
使用os.listdir()函数获取text_files目录下的所有文件名,并循环遍历这些文件。
以.txt结尾的文件,将其内容读取到字符串变量text中。
使用WordCloud类创建了一个词云对象wordcloud,并使用Matplotlib库将其显示出来。
需要注意的是,在合并文本文件时,需要确保文本文件的编码方式相同。
如果文件使用不同的编码方式,可能会导致合并后的文本乱码。
.txt文件中读取文本数据,然后使用WordCloud类创建了一个词云对象wordcloud。通过generate()方法,我们将文本数据传递给词云对象,并生成词云图。最后,使用Matplotlib库将词云图显示出来
例取前文获取的许嵩歌词经处理后数据集,应用词云如下:
# 导入必要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import os
import imageio # 图像模块
import jieba # 中文分词库
img = imageio.imread('D:/cat.png')
# 读取多个文本文件并合并为一个字符串
text = ''
for file_name in os.listdir('G:/lyric/xs/new'):
if file_name.endswith('.txt'):
with open(os.path.join('G:/lyric/xs/new', file_name), 'r', encoding='utf-8') as f:
txt= f.read()
words = " ".join(jieba.cut(txt))
text +=words
# 生成词云对象
wordcloud = WordCloud(background_color='#ccccff',mask=img,font_path='msyh.ttc',
max_words=800,
stopwords=set([line.strip() for line in open('cn_stopwords2.txt', mode='r',
encoding='utf-8').readlines()])
).generate(text)
# 显示词云图
# 保存词云图像
wordcloud.to_file("G:/newcat.png")
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
#停用词自定义
[
【
]
】
'
:
:
;
;
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
、
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
rn
br
strong
&
li
em
style
ol
text
!
"
#
$
%
&
'
(
)
*
+
,
-
--
.
..
...
......
...................
./
.一
/
//
0
1
2
3
4
5
6
7
8
9
:
://
::
;
<
=
>
>>
?
@
A
Lex
[
\
]
^
_
`
exp
sub
sup
|
}
~
~~~~
·
×
×××
Δ
Ψ
γ
μ
φ
φ.
В
—
——
———
‘
’
’‘
“
”
”,
…
……
…………………………………………………③
′∈
′|
℃
Ⅲ
↑
→
∈[
∪φ∈
≈
①
②
②c
③
③]
④
⑤
⑥
⑦
⑧
⑨
⑩
──
■
▲
、
。
〈
〉
《
》
》),
」
『
』
【
】
〔
〕
〕〔
㈧
一
一.
一
哼
哼唷
唉
唯有
啊
啊呀
啊哈
啊哟
啐
啥
啦
啪达
啷当
喀
喂
喏
喔唷
喽
嗡
嗡嗡
嗬
嗯
嗳
嘎
嘎嘎
嘎登
嘘
嘛
嘻
嘿
嘿嘿
嘟
你
我
他
也
我们
什么
有
这
去
了
还
没有
不
又
为
对
上
自己
下
吧
把
能
像
那些
那
谁
人
却
一个
没
让
着
人
就
到
已
很
会
做
她
它
和
在
要
都
的
是
里
︿
!
#
$
%
&
'
(
)
)÷(1-
)、
*
+
+ξ
++
,
,也
-
-β
--
-[*]-
.
/
0
0:2
1
1.
12%
2
2.3%
3
4
5
5:0
6
7
8
9
:
;
<
<±
<Δ
<λ
<φ
<<
=
=″
=☆
=(
=-
=[
={
>
>λ
?
@
A
LI
R.L.
ZXFITL
[
[①①]
[①②]
[①③]
[①④]
[①⑤]
[①⑥]
[①⑦]
[①⑧]
[①⑨]
[①A]
[①B]
[①C]
[①D]
[①E]
[①]
[①a]
[①c]
[①d]
[①e]
[①f]
[①g]
[①h]
[①i]
[①o]
[②
[②①]
[②②]
[②③]
[②④
[②⑤]
[②⑥]
[②⑦]
[②⑧]
[②⑩]
[②B]
[②G]
[②]
[②a]
[②b]
[②c]
[②d]
[②e]
[②f]
[②g]
[②h]
[②i]
[②j]
[③①]
[③⑩]
[③F]
[③]
[③a]
[③b]
[③c]
[③d]
[③e]
[③g]
[③h]
[④]
[④a]
[④b]
[④c]
[④d]
[④e]
[⑤]
[⑤]]
[⑤a]
[⑤b]
[⑤d]
[⑤e]
[⑤f]
[⑥]
[⑦]
[⑧]
[⑨]
[⑩]
[*]
[-
[]
]
]∧′=[
][
_
a]
b]
c]
e]
f]
ng昉
{
{-
|
}
}>
~
~±
~+
¥