逗号分隔在csv中写入时转义为值

时间:2016-03-22 07:38:04

标签: java csv

我在csv文件中写了一些值,但是包含逗号的值会被拆分为> 1一次 例如a,b,c是一个值,应出现在1个单元格中,但它出现在3个单元格中。

writer.append(node.getLongName());

这就是我使用FileWriter将数据写入csv文件的方法。如果node.getLongName()给我带逗号的值,则根据内部逗号分割值。 任何人都可以告诉我们如何使这项工作,并避免分裂价值。

2 个答案:

答案 0 :(得分:0)

您正在写入CSV文件,但是您知道源文件中哪些字段不应该分开。如果你这样做,你可以将该字段的分隔符从逗号更改为其他分隔符,例如' +'而不是附加CSV的其他元素。举个例子:

 10/09/2016, cycling club,(sam+1000+oklahoma),(henry+ 1001+california),( bill+1002+NY)

这里括号内有学生的详细信息。他们之前是命令分开但我把它改为加号。

答案 1 :(得分:0)

虽然可以手动操作来执行琐碎的任务,但是只要你需要处理分隔符或新行转义,CSV format就会很棘手。

除非你想自己为所有极端情况进行繁重的测试,否则最好的办法就是依靠像the one from apache这样众所周知的CSV库。

这里仍然很简单(假设你只需要转义逗号),常见的用法是引用包含空格或分隔符的字段。这意味着不要写a,b,c而是"a,b,c"

writer.append("\"" + node.getLongName()+ "\"");