首页 > 代码库 > 解析文件格式采用chardet库
解析文件格式采用chardet库
http://www.cnblogs.com/ArsenalfanInECNU/p/4811643.html
1、python 读取文件时报错UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position 205: illegal multibyte sequence
解决方法:file_handle = open(‘order.log‘,‘rb‘)
2、当我们不知道文件格式咋办呢
import chardet f=open(‘文件路径‘,‘rb‘) f_read=f.read() f_charInfo=chardet.detect(f_read)
f_charInfo的输出是这样的的一个字典{‘encoding‘: ‘utf-8‘, ‘language‘: ‘‘, ‘confidence‘: 0.99}
‘confidence’是置信概率,后面是推断出的编码方式。以上的结果,意思为推断这段字符串的编码方式为‘utf-8‘的概率为99%.
经过测试,如果文件里的字符串比较少的话,chardet模块是比较难判断出正确的编码模式的,体现在置信概率比较小,字符串多的话,概率会大。我觉得至少大于90%才可信。
得到编码方式后,就可以用来解码了。
f_read_decode=f_read.decode(f_charInfo[‘encoding‘]) print(f_read_decode)
解析文件格式采用chardet库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。