如何从CSV文件中替换特定行?

时间:2015-11-10 14:33:35

标签: java opencsv apache-commons-csv

是否可以访问CSV文件中的特定行并替换其中的特定字段?例如。就像在这个伪代码中一样:

Row row = csvFile.getRow(123);
row.getField(2).set("someString");

尝试Apache Commons CSVOpenCSV,但无法弄清楚如何使用它们。我能想到的唯一方法是遍历文件,将所有内容存储在新对象中并创建文件,但这似乎不是一个好方法。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

对我来说听起来像duplicate of this one

我不确定如何使用apache,但我确信它们具有相同的机制。在openCSV中,您将为源文件创建CSVReader,并为目标文件创建CSVWriter。然后一次读取一条记录,进行任何所需的更改并将其写出来。

或者,如果文件很小,您可以执行readAll和writeAll。

但是如果你想在同一个文件中完成所有操作,请阅读我的评论in the duplicate