【发布时间】:2019-05-11 13:11:22
【问题描述】:
这和double quoted elements in csv cant read with pandas不是同一个问题。
不同之处在于那个问题:“ABC,DEF”破坏了代码。
这里,“ABC "DE" ,F" 正在破坏代码。
整个字符串应该被解析为'ABC "DE", F'。相反,内部双引号会导致下面提到的问题。
我正在使用包含以下类型条目的 csv 文件:
标头1、标头2、标头3、标头4
2001-01-01,123456,"abc def",V4
2001-01-02,789012,"ghi "jklm" n,op",V4
第二行数据破码,报错如下:
ParserError: Error tokenizing data. C error: Expected 4 fields in line 1234, saw 5
我尝试过使用各种sep、delimiter 和quoting 等参数,但似乎没有任何效果。
有人可以帮忙吗?谢谢!
【问题讨论】:
-
不是同一个问题。请参阅上述问题的更新。谢谢你,汤姆。
-
使用 fp.read 将文件作为单个文本字符串读取。 ` 从 io 导入 StringIO; clean_text = text.replace(',"', '$$commadquote').replace('",', '$$dquotecomma').replace('"', "'").replace('$$commadquote' , ',"').replace( '$$dquotecomma', '",'); pd.read_csv(StringIO(clean_text))