为啥在指定编码 utf-8 时 pandas read_csv 会出现 unicode 错误? [复制]

Posted

技术标签:

【中文标题】为啥在指定编码 utf-8 时 pandas read_csv 会出现 unicode 错误? [复制]【英文标题】:Why does pandas read_csv have unicode error when encoding utf-8 is specified? [duplicate]为什么在指定编码 utf-8 时 pandas read_csv 会出现 unicode 错误? [复制] 【发布时间】:2019-01-21 04:13:21 【问题描述】:

在 Jupyter 5.000 笔记本中执行以下 Python 3.6 代码时:

import pandas as pd
file = "C:\users\frogf\MSDS7333\data\HIGGS.csv"
data=pd.read_csv(file,nrows=N,header=None,encoding = "utf-8")

它给出了错误:

 File "<ipython-input-5-204f62a7e8b4>", line 2
    file = "C:\users\frogf\MSDS7333\data\HIGGS.csv"
          ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape

【问题讨论】:

可能是因为该文件实际上不是有效的 UTF-8 - 该行中的内容到底是什么? 您需要转义反斜杠或传递原始字符串:file = r"C:\users\frogf\MSDS7333\data\HIGGS.csv" '\u' 是一个 unicode 转义序列,如果这是我投票关闭的错误,因为它是一个错字跨度> 它是一个来自 Keras 2.6 GB 下载的大型数据集。 @EdChum 看起来和我完全一样...位置 2 和 3 是 \u,它不是原始字符串... 添加转义字符有效。抱歉问了个愚蠢的问题,请关闭它。 【参考方案1】:

将文件作为原始字符串打开。试试:

import pandas as pd
data=pd.read_csv(r"C:\users\frogf\MSDS7333\data\HIGGS.csv",nrows=10,header=None,encoding = "utf-8")

【讨论】:

以上是关于为啥在指定编码 utf-8 时 pandas read_csv 会出现 unicode 错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

当我的 Perl 程序在 cmd.exe 中输出 UTF-8 编码字符串时,为啥我会重复最后一个八位字节?

C# 对URL进行UTF-8编码 编码时为啥会把中文后面的第一个字母也转成了UTF-8呢?

为啥用editplus写java时,把编码形式UTF-8改ANSI后保存,重新进去还是UTF-8?

网页编码格式为UTF-8,文件保存格式也是UTF-8,为啥我用浏览器浏览时是乱码?刷新一下就显示正常!

pandas用read_csv时编码问题解决

eclipse中如何设置在新建JSP/XML文件时就指定编码UTF-8?