当前位置: 首页 > 知识库问答 >
问题:

UnicodeDecodeError:“utf-8”编解码器无法解码位置35中的字节0x96:无效的开始字节

孔甫
2023-03-14

我是Python新手,我正在尝试使用下面的脚本读取csv文件。

Past=pd.read_csv("C:/Users/Admin/Desktop/Python/Past.csv",encoding='utf-8')

但是,得到错误UnicodeDecodeError:'utf-8'编解码器不能解码字节0x96在位置35:无效的开始字节,请帮助我知道这里的问题,我在脚本中使用编码以为它会解决错误。

共有3个答案

姚子石
2023-03-14

尝试使用:

pd.read_csv("Your filename", encoding="ISO-8859-1")

我从某个网站解析的代码是用这种编码转换的,而不是默认的UTF-8编码,这是标准的。

唐兴思
2023-03-14

使用这个解决方案,它将删除(忽略)字符并返回没有它们的字符串。只有当你需要剥离它们而不是转换它们时才使用这个。

with open(path, encoding="utf8", errors='ignore') as f:

使用errors='ignore'只会丢失一些字符。但是,如果您不关心它们,因为它们似乎是源于一个错误代码的额外字符,那么连接到我的套接字服务器的客户端的格式和编程就很糟糕。那么这是一个简单直接的解决方案。参考

蓟和煦
2023-03-14

这是因为您选择了错误的编码。

由于您正在Windows计算机上工作,只需更换

Past=pd.read_csv("C:/Users/.../Past.csv",encoding='utf-8') 

具有

Past=pd.read_csv("C:/Users/.../Past.csv",encoding='cp1252')

应该解决这个问题。

 类似资料: