【问题标题】:Remove spaces when writing to CSV using CSVWriter in java在 java 中使用 CSVWriter 写入 CSV 时删除空格
【发布时间】:2015-12-07 14:16:23
【问题描述】:

我正在使用 JAVA 中的 CSVWriter 从表中读取并写入 CSV 文件。我的分隔符是 'control-A' 。但是一列在 cmets 中有空格。那么如何在写入 CSV 文件时从值中删除该空格。 我的代码是

Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("query");
CSVWriter writer = new CSVWriter(new FileWriter(filePath + "File_writerCSV.csv"),'\u0001');
writer.writeAll(rs,false);
writer.close();

【问题讨论】:

  • 为什么不使用数据中没有出现的分隔符?
  • 可以使用。但那是评论栏……可能是他们将使用的任何字符。如果有任何方法可以删除它,那就更好了
  • 如果逗号不重要,您可以随时使用string.replace(',', ' ') 替换它。但我认为你应该使用像$$$$$这样的分隔符
  • 你尝试调用 writer.setUseTextQualifier(true) 吗?
  • 我正在使用 opencsv 库

标签: java csv export-to-csv


【解决方案1】:

如果您使用的是 OpenCsv,这应该不是问题:它会根据需要自动引用值,即如果您写入的值之一是 some,comment OpenCsv 实际上会写入 "some,comment"(包含在 qoutes 中)。所有标准的csv;无需担心。

【讨论】:

    【解决方案2】:

    另一种方法是,如果一个值包含“,”字符,则将该值放在引号中。 例如,如果值是 BMW,AUDI,MERc --> 将其转换为“BMW,AUDI,MERC”。因此它将被视为 1 个实体。

    String s = "as,as,as";
            if(s.contains(","))
            {
                s="\""+s+"\"";
            }
    

    【讨论】:

    • 如果需要,库会自动执行此操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多