我试图在Pandas中读取一个csv(通过read_csv
函数),其中第二个属性text
包含一个用双引号封装的字符串。一些示例在字符串中包含更多引号,这些引号被转义,例如"He said \"Okay, I will\" but I doubt it"
。
e.g.
id, text
0, "random text"
1, "He said \"Okay, I will\" but I doubt it"
每当我运行read_csv
函数时,我得到错误CParserError: Error tokenizing data. C error: Expected 2 fields in line 1, saw 3
。这是因为子字符串\"Okay, I will\"
中的逗号被识别为分隔符,而不是。
我怎样才能解决这个问题?
编辑
我在另一个post上找到了解决方案。我要做的就是为read_csv
添加2个属性:pd.read_csv('dataset.csv', escapechar='\\', encoding='utf-8')
。现在工作正常。
您显示的文件不正确。引用字段内的引号应该加倍。分隔符后不应出现空格。它应该是:
id,text
0,"random text"
1,"He said ""Okay, I will"" but I doubt it"
我在另一个post上找到了解决方案。我要做的就是为read_csv
添加2个属性:pd.read_csv('dataset.csv', escapechar='\\', encoding='utf-8')
。现在工作正常。