python检测文件编码问题

最近处理一堆txt文件时,各种编码错误,意识到主要是文件的编码格式不统一造成的原因。使用chardet进行检测:

    with open(file_path, 'rb') as f:
        s = f.read()
        chatest = chardet.detect(s)
        print(chatest)

检测结果如下:


image.png

每一个文件的检测结果是一个字典,值分别是编码格式,置信度(又多大的概率属于该编码格式),语言类型。

但是仍然有部分文件,使用chatest判断出的的编码格式open,也会报UnicodeDecodeError 问题,这往往是因为该文件内有部分字符无法解码,可以使用errors参数忽略该信息

import codecs
f = codecs.open(file_path, 'r', encoding = 'GB2312', errors='ignore')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容