python读文件的解码方式_跳过Python文件读取中的不可解码字符

我有一个csv文件,我想用Python读取它。当我使用下面的代码片段时,我得到一个错误。在with open(input_file, 'r') as file:

self.md = file.read()

UnicodeDecodeError: 'ascii' codec can't decode byte 0x89 in position 58658: ordinal not in range(128)

或者

^{pr2}$

或者with open(input_file, 'r', encoding='utf8') as file:

self.md = file.read()

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 58658: invalid start byte

或者with open(input_file, 'r') as file:

# START INFINITE LOOP

while (True):

self.md = file.readline()

print (self.md)

# END INFINITE LOOP

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 1314: invalid start byte

当我在textwarangler或Excel中打开该文件时,即使选择了displayinfisibles in textwarangler,我也没有看到任何奇怪的字符。其他一些奇怪的观察:出错的总是第1380行,即使我从文件中删除了1370-1390行。这让我怀疑这一行是否有错别字。在

有没有一种方法可以读取文件并直接跳过不可解码的字符?在

编辑

这是问题区域周围的一个十六进制垃圾场。位置58658是十六进制的位置E522。二线第二场的89人似乎是罪魁祸首。在000e510: 3436 3822 3b22 4152 454d 4920 2020 2020 468";"AREMI

000e520: 6e6f 8922 3b3b 3b0a 2246 3130 3030 3134 no.";;;."F100014

000e530: 3639 223b 2230 3030 3134 3639 223b 2245 69";"0001469";"E

编辑2

{cd1>编码可以读取文件。问题仍然存在:是否可以假设UTF-8读取文件,并跳过无法读取的字节序列?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值