#!/usr/bin/python # -*- coding: UTF-8 -*- #分詞統計詞頻 import jieba import re from collections import Counter content="" filename=r"../data/commentText.txt"; result = "result_com.txt" r='[0-9\s+\.\!\/_,$%^*()?;;:-【】+\"\']+|[+——!,;:。?、 ~@#¥%……&*()]+' with open(filename,'r',encoding='utf-8') as fr: print("ss") content=re.sub(r," ",fr.read()) #re.sub(pattern, repl, string, count=0, flags=0) # pattern:表示正則表達式中的模式字符串; # repl:被替換的字符串(既可以是字符串,也可以是函數); # string:要被處理的,要被替換的字符串; # count:匹配的次數, 默認是全部替換 # flags:具體用處不詳 data=jieba.cut(content,cut_all=False) data=dict(Counter(data))#dict() 函數用於創建一個字典。Counter 是實現的 dict 的一個子類,可以用來方便地計數。 with open(result,'w',encoding="utf-8")as fw: for k,v in data.items(): if(len(k)>1): fw.write(k) fw.write("\t%d\n"%v)
語言:Python3.7 包:jieba counter re
出錯內容:由於沒有在寫入文件中規定其編碼方式,導致為16進制寫入,設置編碼方式即可