我有一个看起来像这样的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构造函数上使用附加参数:

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


其次,正如您在结果中看到的那样,CSVPrinter逐行浏览文件。如果要添加新列,则实际上需要遍历每一行,并在每次迭代时插入新列的行数据,如here所述。

关于java - 如何使用Apache Commons将新列添加到CSV文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48040761/

10-12 04:52