假设我有:
id,description,amount
1,Foo "bar",10.5
2,Quick "brown" fox,9.0
我知道你应该 Foo "bar"
作为逃逸 Foo ""bar""
去收集报价。但这是我必须处理的数据-?,在处理之前我不能修改它。
try (CSVReader csvReader = new CSVReaderBuilder(new FileReader(resourcePath))
.withSkipLines(1)
.withCSVParser(new CSVParserBuilder().withIgnoreQuotations(true).build())
.build()) {
String[] line;
..
为了解决这个问题,我尝试让csvreader忽略所有引号 withIgnoreQuotations(true)
,但它似乎去掉了最后一个引号,而不是忽略它,因此输出结果是
1,Foo "bar,10.5
. 用opencsv有什么方法可以实现下面的目标吗?
1,Foo "bar",10.5
1条答案
按热度按时间8mmmxcuj1#
您可以使用以下内容:
显然这并不理想,因为您必须选择一个保证永远不会出现在数据中的字符。我选择了剖面符号
§
-那对你可能不管用。只是出于兴趣,apache commons csv解析器没有表现出以下行为:
以及:
这张照片: