通過python讀取txt中的文本然后統(tǒng)計(jì)每個(gè)漢字出現(xiàn)的次數(shù),代碼如下,為什么顯示結(jié)果里面只顯示了英文統(tǒng)計(jì),怎么避免在讀取的時(shí)候不把中文轉(zhuǎn)換成英文輸出?#-*- coding:utf-8 -*-import sysimport importlibimportlib.reload(sys)fr=open('xyj.txt','rb')chara=[]stat={}for line in fr: line=line.strip() if len(line)==0: continue line=str(line) for i in range(0,len(line)): if line[i] in [' ','\t','\n',',','。','(',')','!','?','《','》','、']: continue if line[i] not in chara: chara.append(line[i]) if line[i] not in stat: stat[line[i]]=1 else: stat[line[i]]+=1stat=sorted(stat.items(),key=lambda d:d[1],reverse=True)fw=open('result.csv','w')for item in stat: fw.write(str(item[0]) + ',' + str(item[1]) +'\n')fw.close()fr.close()
1 回答

繁星點(diǎn)點(diǎn)滴滴
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超3個(gè)贊
line=srt(line)這一句把句子轉(zhuǎn)str了,漢字讀取出來是unicode,/xe8這種,這樣的話在后面for循環(huán)line的時(shí)候就會是變成你這個(gè)樣子,你要用list來做,這樣讀出來就是一個(gè)整體
添加回答
舉報(bào)
0/150
提交
取消