利用jieba庫和wordcloud庫,進行中文詞頻統計並利用詞雲圖進行數據可視化
安裝jieba庫
- 打開cmd輸入pip install jieba
- 驗證:python -m pip list
安裝wordcloud
- 打開cmd輸入pip install wheel
- 查看python版本:python
- wordcloud下載地址
- 選擇對應的版本,例如:3.9.7版本的python,選擇帶39數字的
- 打開cmd切換到wordcloud文件的位置
- 輸入pip install 路徑
打開pycharm
- 創建項目
- pycharm右下角python
- 點擊解釋器設置(倒數第二個)
- 點擊小齒輪,選擇全部顯示(第二個)
- 點擊+號
- 選擇系統解釋器,定位到安裝的python
- 查看有沒有jieba庫和wordcloud庫
- 有就確定,開始編寫代碼
編寫代碼
字體文件獲取地址
import jieba
import wordcloud
import re
import csv
#文字文件路徑
text = open("E:\\python\\text1.txt","r",encoding="utf_8_sig").read()
#正則表達式去除,:。、?“;”()數字以及換行
words = jieba.lcut(re.sub(r'[,:。、?“;”()\n 0-9]',"",text))
#遍歷words中所有詞語,單個詞語不計算在內
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0)+1 #統計次數
#合並列表的元素,成為一個句子
words_1 = ''.join(counts.keys())
#詞雲圖的可視化
#添加字體文件,配置對象參數,文本字體路徑,寬度1000,高度700,背景白色
w = wordcloud.WordCloud(font_path="E:\\font\\simsun.ttf",width=1000,height=700,background_color="white")
w.generate(" ".join(jieba.lcut(words_1))) #加載詞雲文本
w.to_file("圖片路徑.png") #自定義路徑
#詞頻統計
counts = sorted(counts.items(),key = lambda x:x[1],reverse = True) #排序
f = open('E:\\python\\01.csv','w',newline="") #newlines=''可保證存儲存的數據不空行
writer = csv.writer(f) #創建初始化寫入對象
for count in counts:
writer.writerow(count) #一行一行寫入
f.close()
'''
參考
jieba
https://blog.csdn.net/jinsefm/article/details/80645588
https://blog.csdn.net/codejas/article/details/80356544
wordcloud
https://mathpretty.com/10951.html
https://blog.csdn.net/kun1280437633/article/details/89474284
re
https://www.runoob.com/python/python-reg-expressions.html
csv
https://www.cnblogs.com/qican/p/11122206.html
https://www.jianshu.com/p/e6768d9af085
'''