java - 在 CSV 写入中转义 ',' 不起作用

标签 java csv export-to-csv

我尝试按照下面的链接解决方案 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""。所以这些数据放在两个不同的单元格中。

输出如下

enter image description here

最佳答案

用双引号转义应该可以使其工作,您可能不会通过获取 CSV 数据来更新集合以反射(reflect)更改。请参阅下面的代码,对我来说工作正常。

try {
            List<String> csvData = new ArrayList<String>();
            csvData.add("test");
            csvData.add("test,ing");
            csvData.add(",testing");

            List<String> newCsvData = new ArrayList<String>();

            for (String str : csvData) {
                if(str.indexOf(",") >= 0){
                    str = "\""+str+"\"";
                }
                newCsvData.add(str);
            }

            String csv = StringUtils.join(newCsvData, ',');

            System.out.println(csv);

            PrintWriter out = new PrintWriter("D://filename.csv");

            out.println(csv);

            out.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

输出:

enter image description here

关于java - 在 CSV 写入中转义 ',' 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32111816/

相关文章:

Java 8 Locale.getDefault() 返回 null

Java套接字连接

Python Pandas read_csv 跳过行但保留标题

javascript - 如何使用 Javascript 处理 CSV 中的逗号

java - Excel 中以 "ID"作为第一项的 CSV 文件已损坏

arrays - 将 JSON 数组索引列值转置为行并导出为 CSV

java - 二维数组格式问题。我试图用/t 来标记我的列,但这只会导致我的行消失

java - Android Mediaplayer 缓冲未完成

Python - 处理值错误

regex - 导入包含逗号、千位分隔符和尾随减号的 CSV 数据