首先我们看看正常的读取数据过程:
with
在读取数据的过程中有时候会因为某一行数据中有一些特殊字符而出现编码错误,
这里我们先看一张报错的图片:
从报错中我们可以看到这里说是:utf-8编解码器不能解码字节0x9g在位置3703的无效字节,出现这个错误的时候我第一时间想到的是通过异常处理直接跳过,但是想想try加在哪里呢?加在 for i in f: 这里吗?但是想想这样就算跳过了异常那不还是拿不到后面的数据吗?加 for循环里面就更加不可能了,因为出错是错现在读取过程中,而不是读取之后。
突然发现这个问题真的很恼火呀,如果是数据量比较小我倒是可以直接打开文件到出错的地方将错误数据修改,或者将那条数据删除都行,但是文件太大了,此时又无法通过打开文件去修改。之后在朋友的提醒下我发现可以通过在读取的时候将数据以其他的方式来编码,这个时候是可以正常读取到数据的。
with
这里我们将编码格式改为 ISO-8859-1 ,此时我们将数据打印出来看看,
这都是什么东西啊,我的数据明明是中文的,现在成这样了,这也不是我想要的结果啊。不要着急,接下来的操作就是将你的数据还原了。
with
将打印结果贴在此处:
以上就是解决的方法,如果有不懂的地方欢迎提问。
python读取TXT文本中出现编码错误,又因文件太大无法打开,导致数据无法取出时该怎么办?mp.weixin.qq.com