下面就来详细讲解Python取得文件关键词并创建词云的完整攻略,包括以下几个步骤:
-
安装必要的Python库:需要安装pyquery、jieba和wordcloud库,可以使用pip install命令进行安装。
-
获取文本数据:通过Python的文件读取操作,从指定的文本文件中获取需要进行分析的文本数据。
-
文本处理:使用jieba库对文本进行分词,并进行停用词过滤,得到关键词列表。
-
创建词云:使用wordcloud库对关键词进行处理,生成词云图片,最终实现可视化展示。
下面提供两个代码示例,分别是针对英文文本和中文文本的处理:
英文文本处理
import os
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取文本文件
with open(os.path.join(os.getcwd(), 'input.txt')) as f:
text = f.read()
# 分词处理
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
import string
tokens = word_tokenize(text)
tokens = [w.lower() for w in tokens]
table = str.maketrans('', '', string.punctuation)
stripped = [w.translate(table) for w in tokens]
words = [word for word in stripped if word.isalpha()]
stop_words = set(stopwords.words('english'))
words = [w for w in words if not w in stop_words]
# 生成词云
wordcloud = WordCloud(width=800, height=800).generate(' '.join(words))
plt.figure(figsize=(8,8), facecolor=None)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
中文文本处理
import os
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
# 读取文本文件
with open(os.path.join(os.getcwd(), 'input.txt'), encoding='utf-8') as f:
text = f.read()
# 分词处理
seg_list = jieba.cut(text)
words = [word for word in seg_list if len(word)>1]
# 生成词云
wordcloud = WordCloud(font_path='STKAITI.ttf', width=800, height=800).generate(' '.join(words))
plt.figure(figsize=(8,8), facecolor=None)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.tight_layout(pad=0)
plt.show()
以上就是Python取得文件关键词并创建词云的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python取得文件关键词并创建词云 - Python技术站