java - 如何替换 CSV 文件中的特定行?

标签 java opencsv apache-commons-csv

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

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

尝试过Apache Commons CSVOpenCSV ,但不知道如何处理它们。我能想到的唯一方法是迭代一个文件,将所有内容存储在一个新对象中并创建一个文件,但这似乎不是一个好方法。

感谢您的建议!

最佳答案

听起来像 duplicate of this one大部头书。

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

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

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

关于java - 如何替换 CSV 文件中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33632429/

相关文章:

java - 变量声明问题

java - Apache CSV - 将 List<String> 转换为 CSVRecord

java - 如何使用 Apache Commons CSV java 忽略 CSV 文件最后一行中的记录?

java - openCSV 没有读取我的整个文件

java - OpenCSV + JMS/MDB 行为 + 性能问题

java - Apache Commons CSV 框架是否提供内存高效的增量/顺序模式来读取大文件?

java - 我应该为这个 Java GUI 作业使用什么样的布局?

java - 将 curl 请求转换为 URLConnection

java - 将类添加到 Param 标签 - Java Applet

java - OpenCSV parse() 返回具有空值的对象