用python統計文章單詞詞頻
阿新 • • 發佈:2018-12-13
import re
with open("text.txt") as f:
#讀取檔案中的字串
txt = f.read()
#去除字串中的標點、數字等
txt = re.sub('[,\.()":;[email protected]#$%^&*\d]|\'s|\'', '', txt)
#替換換行符,大小寫轉換,拆分成單詞列表
word_list = txt.replace('\n',' ').replace(' ',' ').lower().split(' ')
word_count_dict = {}
for word in word_list:
#統計字典中的詞頻
if word in word_count_dict.keys():
word_count_dict[word] += 1
else:
word_count_dict[word] =1
#按照單詞出現次數排序
word_count_dict = sorted(word_count_dict.items(), key=lambda x:x[1], reverse=True)
#輸出到檔案
with open("word_count.txt" , 'w')as f1:
for i in word_count_dict:
f1.write("%s\t%s\n" %(i[0],str(i[1])))
結果大概就是這樣子了:
the 8
to 6
a 6
has 3
us 2
criminal 2
subpoenas 2
president 2
發現還有很多不完善的地方,在後續的學習中再改進!