【发布时间】:2019-10-10 14:31:33
【问题描述】:
我需要在 Pandas 中读取一个 CSV 文件,其中包含以下格式的数据(其中一个字段使用双“双引号”)
"column1","column2","column3","column4"
"10",""AB"","ABCD","abcd"
"11",""CD,E"","CDEF","abcd"
"12",""WER"","DEF,31","abcd"
我希望正确解析的数据帧像
column1 column2 column3 column4
10 AB ABCD abcd
11 "CD,E" CDEF abcd
12 WER "DEF,31" abcd
我尝试过使用
df= pd.read_csv('sample.txt',quotechar='""', quoting=csv.QUOTE_ALL)
和
df= pd.read_csv('sample.txt',quotechar='"', quoting=csv.QUOTE_ALL)
但得到
TypeError: "quotechar" must be a 1-character string
和
pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 3, saw 5
有没有办法让我按原样读取此文件,而无需预处理和删除数据中的双“双引号”?
当column2 没有逗号时,我可以读取带有一些额外引号的数据,我可以在进一步的处理步骤中替换这些引号。只有当column2 有逗号时,我才会遇到解析问题。
【问题讨论】:
-
我已经回答了这个问题,它不是重复的。该问题是引号内的简单逗号问题
-
@Vinay,发布最终预期的数据帧