我有一个看起来像这样的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/