打开文本是出现编码错误

是在编写中文的词频分析时遇到的

先把词频分析的代码放上去

# 对三国演义出场人物次数进行统计
import jieba
txt = open("sanguoyanyi.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
new={}
#通过对程序的检查,对程序进行完善
for word in words:
    if len(word)==1:
        continue
    elif word == "诸葛亮" or word == "孔明曰":
        rword="孔明"
    elif word == "关公" or word == "云长":
        rword="关羽"
    elif word == "玄德" or word == "玄德曰":
        rword="刘备"
    elif word == "孟德" or word == "丞相":
        rword ="曹操"
    else:
        rword=word
    # 对原来的字典new中判断是否有rword这个人,没有就返回0,
    # 赋予rword键有就在原来rword所对应的值加1,并赋予rword键
    new[rword]=new.get(rword,0)+1
# 排除系统中不是人名的字
exc={"将军","却说","荆州","二人","不可","不能","如此"}
for word in exc:
    del new[word]
item=list(new.items())
item.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count=item[i]
    print("{0:<10}{1:>5}".format(word,count))

在运行的时候就会遇到下面这种情况


这个时候我试过好多方法,都是不行的,这个时候,我发现了解决的方法

我们把要处理的文件把他的编码方式改成你想打开的编码方式


在这个编码方式改成你要打开的方式,比如我上面代码的utf-8,这个时候就不会报错了。

猜你喜欢

转载自blog.csdn.net/weixin_41442912/article/details/80682536