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

时间:2017-12-31 07:25:21

标签: java csv append apache-commons writing

我有一个看起来像这样的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总数不足。怎么做

1 个答案:

答案 0 :(得分:-1)

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

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

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