如何使用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 数据帧