为啥在指定编码 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 错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章