熊猫read_csv中的编码错误

kht*_*tad 48 csv utf-8 pandas

我正在尝试将CS​​V文件读入Pandas中的Dataframe.当我尝试这样做时,我收到以下错误:

UnicodeDecodeError:'utf-8'编解码器无法解码位置55的字节0x96:无效的起始字节

这来自代码:

import pandas as pd

location = r"C:\Users\khtad\Documents\test.csv"

df = pd.read_csv(location, header=0, quotechar='"')
Run Code Online (Sandbox Code Playgroud)

这是在Windows 7企业Service Pack 1计算机上,它似乎适用于我创建的每个CSV文件.在这种特定情况下,位置55的二进制位是00101001,位置54是01110011,如果这很重要的话.

使用文本编辑器将文件保存为UTF-8似乎也没有帮助.同样,添加参数"encoding ='utf-8'也不起作用 - 它返回相同的错误.

导致此错误的最可能原因是什么?除了暂时放弃DataFrame构造并使用csv模块逐行读取CSV之外,还有其他解决方法吗?

max*_*moo 128

尝试read_csv使用encoding='latin1',encoding='iso-8859-1'encoding='cp1252'(这些是在Windows上找到的各种编码).

  • 仔细选择编码。有一些差异,例如印刷引号。另一种常见的是 iso-8859-15,其中包括 EUR 符号。 (2认同)

sus*_*mit 9

这适用于Mac,您也可以使用

df= pd.read_csv('Region_count.csv',encoding ='latin1')