1. 程式人生 > >Python每日一題之0006

Python每日一題之0006

第 0006 題: 你有一個目錄,放了你一個月的日記,都是 txt,為了避免分詞的問題,假設內容都是英文,請統計出你認為每篇日記最重要的詞。

題目分析:
1、目錄下檔案迴圈讀取
2、內容的單詞統計

其實這兩個內容在之前的幾個題目中都有做過。所以這裡也就不重複了。
昨天參考別人的程式碼,簡化了程式碼。
程式碼如下:

import re
from collections import Counter

def cleanarticle(file):
	datalist=[]
	with open(file,'r') as f:
		for line in f:
			content=re.sub(r'[^a-zA-Z0-9]+'," ",line.lower())
			print(content)
			datalist.extend(content.strip().split(" "))
	wordlt = Counter(datalist)
	print(wordlt)

if __name__ == '__main__':
	filePath = r'C:\\Users\\datacvg\\Desktop\\Personal\\en.txt'
	words=cleanarticle(filePath)

使用collections模組中的counter進行單詞的統計;

正則表示式的說明:
[a-zA-Z0-9]+ 匹配字元和數字
[^a-zA-Z0-9]+ 匹配除字元和數字之外的內容
^在[ ]外面表明是以某一種型別開頭,但是^在[ ]內,表示取反