我正在尝试通过read_csv
函数在Pandas中读取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')
。现在工作正常。
答案 0 :(得分:1)
您显示的文件不正确。引用字段内的引用应该加倍。分隔符后不应有空格。应该是:
id,text
0,"random text"
1,"He said ""Okay, I will"" but I doubt it"
答案 1 :(得分:0)
您需要read_csv()
的{{3}}参数:
用于表示引用项目的开始和结束的字符。引用的项目可以包含定界符,它将被忽略。
因此添加quotechar='"'
。
答案 2 :(得分:0)
我在另一个post上找到了解决方案。我要做的就是向read_csv
添加2个属性:pd.read_csv('dataset.csv', escapechar='\\', encoding='utf-8')
。现在工作正常。