[英]How to update a record in csv file using Apache commons csv api in java?
[英]How to ignore a record in the last line of the CSV file using Apache Commons CSV java?
我正在使用Apache Commons CSV读取CSV文件。 该文件在最后一行有关于文件本身(生成日期和时间)的信息。
|XXXX |XXXXX|XXXXX|XXXX|
|XXXX |XXXXX|XXXXX|XXXX|
|File generation: 21/01/2019 17.34.00| | | |
因此,在解析文件时,我将其作为记录(显然)。 我想知道有没有办法摆脱解析,Apache Commons CSV有任何处理它的条款。
Apache Commons CSV提供了忽略标题的功能( https://commons.apache.org/proper/commons-csv/apidocs/org/apache/commons/csv/CSVFormat.html#withSkipHeaderRecord-- ),但不提供一个忽略footer
的解决方案。 但是您可以通过手动忽略最后一条记录来简单地获取除最后一条之外的所有记录。
这是一个循环,你不会知道什么时候到达结束直到你结束。 您有两种选择:
break
循环。 line.trim().spit("|").length() > 1
或在你的情况下做一些工作只要每行的记录数大于1,这将确保您不会在只有一列(恰好是最后一行又称为页脚)的行上应用逻辑。 取自Apache Commons并修改了样例的示例
Reader in = new FileReader("path/to/file.csv");
Iterable<CSVRecord> records = CSVFormat.RFC4180.parse(in);
for (CSVRecord record : records) {
//all lines except the last will result greater than 1
if (record.size() > 1){
//do your work here
String columnOne = record.get(0);
String columnTwo = record.get(1);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.