【Python读文件】'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence

问题如下:
‘gbk’ codec can’t decode byte 0xb1 in position 5: illegal multibyte sequence

代码:

moveout = pd.read_csv(open("D:/F/study/待做/PM/Baidu迁徙/城市 迁出规模指数.xls",encoding= 'utf-8'))

文件是xls格式
把文件转换为csv格式后,删除encoding=…就解决了

UnicodeDecodeError是Python中常见的编码错误之一,它表示在解码过程中遇到了无法解析的字节序列。具体到你提到的错误信息"UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence",它的意思是在使用'gbk'编码解码时,遇到了一个非法的多字节序列,导致解码失败。 要解决这个问题,可以尝试以下几种方法: 1. 指定正确的编码方式:首先,确保你正在使用的编码方式与被解码的字符串的编码方式一致。如果你知道被解码的字符串的正确编码方式,可以使用该编码方式进行解码。例如,如果被解码的字符串是以UTF-8编码的,可以使用'utf-8'进行解码。 ```python string = b'\xb1' # 被解码的字符串 decoded_string = string.decode('utf-8') # 使用正确的编码方式进行解码 ``` 2. 忽略错误的字节:如果你不关心解码过程中出现的错误字节,可以使用errors参数来忽略错误的字节。常见的忽略方式是使用'ignore'参数。 ```python string = b'\xb1' # 被解码的字符串 decoded_string = string.decode('gbk', errors='ignore') # 忽略错误字节 ``` 3. 使用适当的编码方式:如果你无法确定被解码的字符串的正确编码方式,可以尝试使用其他常见的编码方式进行解码,如'utf-8'、'latin-1'等。 ```python string = b'\xb1' # 被解码的字符串 decoded_string = string.decode('utf-8') # 尝试使用其他编码方式进行解码 ``` 需要注意的是,解码错误通常是由于编码方式不匹配或者被解码的字符串本身存在问题导致的。因此,在解决该错误时,需要确保编码方式正确,并且被解码的字符串是有效的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可可OldIron

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值