一、pyinstaller庫
1、簡介
pyinstaller庫:將指令碼程式轉變為可執行(.exe)格式的第三方庫
注意:需要在.py檔案所在目錄進行以下命令,圖示副檔名是.ico
2、格式:
pyinstaller -F 檔案.py
pyinstaller -i 圖示名.ico 檔名.py
生成後的.exe檔案放在dict資料夾裡
二、wordcloud庫
1、詞雲介紹
詞雲以詞語為基本單元,根據其在文字中出現的頻率設計不同大小一形成視覺上不同的效果,形成關鍵詞雲層或關鍵詞渲染,從而使讀者一眼就可以讀到文字重點。wordcloud的核心是WordCloud類,所有功能都封裝在這個類中,使用時需要先例項化一個WordCloud類的物件,並呼叫。
2、需要安裝的模組
pip install wordcloud
pip install imageio
注意:字型檔案需要指定路徑,或者和檔案放在同一目錄
3、wordcloud常用的函式
WordCloud().generate(文字) 將字串轉化成詞雲
WordCloud().to_file(檔案路徑) 將詞雲生成檔案
4、案列
點選檢視程式碼
from wordcloud import WordCloud #使用WordCloud類
import imageio
# from scipy.misc import imread 其中imread模組在scipy中已經被棄用,建議使用imageio
mask = imageio.imread('C:/Users/wordcloud/hzw.png')
#圖片轉換成陣列形式,一般使用png圖片,windows中路徑要麼用/要麼要\\因為一條\代表轉義字元
with open('C:/Users/wordcloud/hzw.txt','r',encoding='utf-8') as f:
txt = f.read()
wordcloud = WordCloud(width=1017,\
height=1097,\
max_words=400,\
max_font_size=80,\
mask=mask,\
font_path='msyh.ttc',\
).generate(txt) #字串轉化成詞雲
wordcloud.to_file('C:/Users/wordcloud/xhzw.png') #詞雲生成檔案
效果展示:
在生成詞雲時,wordcloud預設會以空格或標點為分割符對目標文字進行分詞處理,對於中文文字,分詞處理需要由使用者來完成,可以結合jieba庫一起使用,一般步驟是先將文字分詞處理,然後以空格拼接,再呼叫。
用法:
words = jieba.lcut(txt)#進準分詞
newtxt = ' '.join(words) #空格拼接
結合jieba庫的效果
三、jieba庫
1、簡介
通過中文詞庫的方式來識別分詞的
-- 利用一箇中文詞庫,確定漢字之間的關聯概率
-- 通過計算漢字之間的概率,漢字間概率大的組成片語,形成分詞結果
-- 除了分詞,使用者還可以新增自定義的片語
2、案列
點選檢視程式碼
from posixpath import commonpath
import jieba
with open('C:/Users/hzw.txt','r',encoding='utf-8') as f:
txt = f.read()
words = jieba.lcut(txt)
counts = {}
bd = [',','。','、',' ']
for word in words:
if word in bd:
continue #如果文字中有標點符號,就跳過
elif len(word)==1: #表示一個字的次遇到就跳過
continue
else:
counts[word]=counts.get(word,0)+1 #將出現過的次記錄次數並寫進字典
items = list(counts.items()) #將字典轉成列表
items.sort(key=lambda x:x[1],reverse=True)
#x可以是任意,[]裡面的數表示對第幾個元素排序,reverse=True表示升序,預設是降序
for i in range(3): #迴圈三次,只展示排名前三的結果
word,count=items[i] #從元組裡取值
print(f'{word:^5}:{count:<5}') #^居中對齊,保留5個寬度
效果展示