python打开文件_python读取TXT文本中出现编码错误,又因文件太大无法打开,导致数据无法取出时该怎么办?...

首先我们看看正常的读取数据过程:

with 

在读取数据的过程中有时候会因为某一行数据中有一些特殊字符而出现编码错误,

这里我们先看一张报错的图片:

28bdbf6639f1c5dd4739ac82728f6661.png

从报错中我们可以看到这里说是:utf-8编解码器不能解码字节0x9g在位置3703的无效字节,出现这个错误的时候我第一时间想到的是通过异常处理直接跳过,但是想想try加在哪里呢?加在 for i in f: 这里吗?但是想想这样就算跳过了异常那不还是拿不到后面的数据吗?加 for循环里面就更加不可能了,因为出错是错现在读取过程中,而不是读取之后。

  突然发现这个问题真的很恼火呀,如果是数据量比较小我倒是可以直接打开文件到出错的地方将错误数据修改,或者将那条数据删除都行,但是文件太大了,此时又无法通过打开文件去修改。之后在朋友的提醒下我发现可以通过在读取的时候将数据以其他的方式来编码,这个时候是可以正常读取到数据的。

with 

这里我们将编码格式改为 ISO-8859-1 ,此时我们将数据打印出来看看,

ce9119ecd38ded45b47d5f330761f43f.png

这都是什么东西啊,我的数据明明是中文的,现在成这样了,这也不是我想要的结果啊。不要着急,接下来的操作就是将你的数据还原了。

with 

将打印结果贴在此处:

d0b17a9489aeb67feff2021a2dcf1def.png

以上就是解决的方法,如果有不懂的地方欢迎提问。

python读取TXT文本中出现编码错误,又因文件太大无法打开,导致数据无法取出时该怎么办?​mp.weixin.qq.com
b23a6ef700db42bcc834b379b13d9409.png

c34e76a086463f6e7609fd24a764a874.png

关注公众号 【时光python之旅】,在这里你能学到更多知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值