通过python读取txt中的文本然后统计每个汉字出现的次数,代码如下,为什么显示结果里面只显示了英文统计,怎么避免在读取的时候不把中文转换成英文输出?#-*- 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 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
line=srt(line)这一句把句子转str了,汉字读取出来是unicode,/xe8这种,这样的话在后面for循环line的时候就会是变成你这个样子,你要用list来做,这样读出来就是一个整体
添加回答
举报
0/150
提交
取消