如何使用apache commons将新列添加到csv文件中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用apache commons将新列添加到csv文件中相关的知识,希望对你有一定的参考价值。

我有一个看起来像这样的csv文件

name,age,total
xyz,22
abc,20

处理完csv文件后应如下所示

name,age,total
xyz,22,100
abc,20,102

运行此代码后

public class Converter {

    public static void main(String[] args) throws IOException {

        BufferedWriter writer = Files.newBufferedWriter(Paths.get(Constants.SAMPLE_CSV_FILE));
        CSVPrinter csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT);

        csvPrinter.print(100);
        csvPrinter.print(102);

        csvPrinter.close();
    }

}

输出csv文件变成这样

100
102

我希望100和102总计不足。怎么做

答案

首先,您不应该覆盖现有文件。因此,在FileWriter构造函数上使用appending参数:

FileWriter pw = new FileWriter("C:\exampleFile.csv",true); 

其次,正如您在结果中看到的那样,CSVPrinter按行遍历您的文件。如果要添加新列,实际上需要迭代每一行并在每次迭代时插入新列的行数据,如详细解释here

以上是关于如何使用apache commons将新列添加到csv文件中的主要内容,如果未能解决你的问题,请参考以下文章

Apache Spark 如何将新列从列表/数组附加到 Spark 数据帧

如何将新列添加到权限表

如何将新列添加到现有表 symfony - orocommerce

如何将新列添加到 Android SQLite 数据库?

如何使用Java UDF将新列添加到Spark数据帧

如何将新列动态添加到 bigquery 中已存在的表..?