我是Python的新手,我正在尝试使用下面的脚本读取csv文件.
Past=pd.read_csv("C:/Users/Admin/Desktop/Python/Past.csv",encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
但是,得到错误"UnicodeDecodeError:'utf-8'编解码器无法解码位置35中的字节0x96:无效的起始字节",请帮我解决这里的问题,我在脚本中使用编码认为它会解决错误.
Lia*_*iam 15
这是因为您选择了错误的编码.
如果你在Windows上只是更换
Past=pd.read_csv("C:/Users/Admin/Desktop/Python/Past.csv",encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
同
Past=pd.read_csv("C:/Users/Admin/Desktop/Python/Past.csv",encoding='cp1252')
Run Code Online (Sandbox Code Playgroud)
应该解决问题.
小智 14
尝试使用:
pd.read_csv("Your filename", encoding="ISO-8859-1")
Run Code Online (Sandbox Code Playgroud)
我从某个网站解析的代码被转换为这种编码,而不是标准的默认 UTF-8 编码。
使用此解决方案,它将剥离(忽略)字符并返回没有它们的字符串.只有在您需要剥离它们而不是转换它们时才使用它.
with open(path, encoding="utf8", errors='ignore') as f:
Run Code Online (Sandbox Code Playgroud)
使用errors='ignore'
你只会丢失一些角色.但是如果你不关心它们,因为它们似乎是源于连接到我的套接字服务器的客户端的错误格式化和编程的额外字符.然后它是一个简单的直接解决方 参考
这是一个老问题,但在寻找此错误的解决方案时出现。所以我想为所有仍然偶然发现这个话题的人做出回答。在传递编码参数的正确值之前,可以检查文件的编码。要获取编码,Windows 中的一个简单选项是在 Notepad++ 中打开文件并查看编码。然后可以在python 文档中找到编码参数的正确值。查看此问题和 stackoverflow 上的答案,了解有关获取文件编码的不同可能性的更多详细信息。
以下对我来说非常有效:
encoding = 'latin1'
Run Code Online (Sandbox Code Playgroud)
小智 5
df = pd.read_csv( "/content/data.csv",encoding='latin1')
Run Code Online (Sandbox Code Playgroud)
只需添加 ,encoding='latin1' 即可工作
归档时间: |
|
查看次数: |
33354 次 |
最近记录: |