【发布时间】:2017-01-23 20:48:09
【问题描述】:
样本数据 -
标头1、全名、标头3、标头4
- 20, "鲍勃, XXX", "测试", 30
- 20, "evan"s,YYY", "test", 30
-
20,“汤姆,ZZZ”,“测试”,30
CSVReader csvReader = new CSVReader(reader, ',', '"');
第二行未按预期读取。因为 full_name 列值中有双引号。
我想忽略这种情况。任何建议将不胜感激。
使用 openCSV java api 进行解析。
编辑:
我正在从数据库中获取数据。数据库列字段之一的值中有一个双引号。因此,csv 数据看起来格式不正确。
【问题讨论】:
-
CSV 格式错误。请参阅tools.ietf.org/html/rfc4180,规则 7。如果使用双引号将字段括起来,则出现在字段内的双引号必须通过在其前面加上另一个双引号来进行转义。
-
不是格式错误,原始数据里面有双引号。 @Guenther
-
也许 Java Parser with regex 可以帮助你
-
我需要重写逻辑来解析csv文件。我打算暂时使用任何 csv 阅读器框架。如果没有任何结果,我可能会为它编写自定义解析。感谢@pilkington 的建议
标签: java csv opencsv apache-commons-csv