【发布时间】:2015-08-20 07:16:36
【问题描述】:
我尝试按照以下链接解决方案 String containing comma inputting in to the csv file
for(String data : getCSVData())
{
if (data != null && data.contains(",")) {
data = "\"" + data + "\"";
}
}
但如果数据像 1,234(String) 那样生成像这样的 ""1,234""。所以这些数据放在 2 个不同的单元格中。
如下输出
【问题讨论】:
-
尽管您肯定可以自己解决问题,但我倾向于使用已经提供的库。幸运的是,Apache 有一个很酷的 CSV 库:commons.apache.org/proper/commons-csv
-
您是否使用库来写入读/写 CSV 数据?看起来您的数据已经在 "s 内。在这种情况下,您可以在 if 条件中添加另一个检查行 data.startsWith(")。
-
如果你没有使用库,并且你所有的数据都是 "x,xxx","x,xxx" 的形式,你可以尝试用
","分割类似的东西 -
为什么要在一边放两个双引号?只放单双引号
-
如果我理解正确,您正在编写 CSV 文件。如果文件以逗号分隔,并使用
"作为引号字符,则"1,234", "5,789"被正确地视为两个字符串。
标签: java csv export-to-csv