opencsv CSV Reader - 从特定行开始读取。

3

我已经到处搜寻了,可能是我太蠢了,但有没有一种方法可以从特定行读取csv文件?我有一个csv文件,但想要从第14行开始读取数据。以下是我的csv阅读器。

  CSVReader reader=new CSVReader(new FileReader(filename1));
  String [] value ;

  while((value=reader.readNext())!=null){

CSV文件中的数据大概是这样的。
    1   djennings93
    2   27/02/2014
    3   13:31
    ...
    14  26/02/14 14:25:00, www.google.co.uk, 50, Google

我想忽略1-13行的数据。
2个回答

4

您可以通过以下方式跳过前13行:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t', '\'', 13);

请看这里。(问题:我可以使用自己的分隔符和引号吗?)

这将导致从第14行开始读取数据。


干杯,伙计!阅读一点点东西真是太神奇了!我的错。 - djennings93
读取特定行怎么样?当我定义 CSVReader reader 时,整个文件是否已经被读取了?还是仅在迭代reader时才进行文件读取? - User3
@User3,请查看http://opencsv.sourceforge.net/上的"How do I read and parse a CSV file?"部分。 - Boris

3

Boris的答案仍然有效,但已被弃用。建议使用builder类:

CSVReader reader = new CSVReaderBuilder(new FileReader("yourfile.csv"))
        .withSkipLines(13)
        .withCSVParser(new CSVParserBuilder().withSeparator('\t').withEscapeChar('\'').build())
        .build();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接