首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SuperCSV读取特定行

使用SuperCSV读取特定行
EN

Stack Overflow用户
提问于 2012-02-11 19:46:56
回答 2查看 1.4K关注 0票数 1

可以使用SuperCsv读取特定的行吗?

假设一个.csv文件包含100行,我想读取第11行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-11 20:33:05

CSV文件通常包含可变长度的记录,这意味着不可能“跳转”到指定的记录。唯一的解决方案是从文件的开头顺序读取CSV记录,同时保持计数,直到达到所需的记录。

我还没有在SuperCsv中找到任何特殊的API来执行这种跳过行的操作,所以我猜您必须手动调用CsvListReader#read()方法11次才能获得所需的行。

我不知道其他CSV阅读库是否会有“跳行”功能,即使它们有,也不太可能比手动跳到所需的行更好,原因在第一段中给出了原因。

票数 4
EN

Stack Overflow用户

发布于 2019-07-26 03:43:55

这里有一个简单的解决方案,你可以适应它:

代码语言:javascript
复制
listReader = new CsvListReader(new InputStreamReader(new FileInputStream(CSVFILE, CHARSET), CsvPreference.TAB_PREFERENCE);
listReader.getHeader(false);
while ((listReader.read(processors)) != null) {
    if (listReader.getLineNumber() == 1) {
        System.out.println("Do whaever you need.");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9239939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档