java - 如何使用apache common从CSV文件中读取列的值而不遍历java中的行

标签 java csv

例如,我的输入 csv 文件包含:

A    B     C     D      E
10   ab    a1    b1     ab1
20   cd    c1    d1     cd1    
30   ef    e1    f1     ef1
40   gh    c1    h1     gh1

我的输出:

A
10
20
30
40

我可以通过遍历每一行来做到这一点。但我不想那样。我的 csv 中有数十万条记录,因此我一次想要 A 的所有列值。我只想使用 apache common csv。

最佳答案

如果不以某种方式读取整行,就无法只读取 CSV 文件的第一列。这是一个没有固定记录大小的文本文件。

对于每个记录具有固定字节大小的二进制文件,这是可能的,例如使用RandomAccessFile。但对于文本文件,您必须始终搜索行尾以找到下一行的开头以及 A 列中的下一个字段。

但是,当您逐行读取并且不在内存中保存不需要的列值时,我认为这不是一个大问题。

关于java - 如何使用apache common从CSV文件中读取列的值而不遍历java中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36570260/

相关文章:

java - Play Framework 1.2.4 : Selected Option for #{select} template

java - "import au.com.bytecode.opencsv.CSVReader"错误

java - jackson CSV 缺失列

java - 我的单选按钮代码出了什么问题?

java - 排列多个不同高度的 JPanel

java - Eclipse:更改所有实现类中的覆盖

java - 如何禁止使用带有某些注释的类

java - PrintWriter 写入 CSV - 新行不起作用?

csv - SSRS 报告导出为 .csv 时显示不可见列

java - OpenCSV - 如何将选定的列映射到 Java Bean 而不管顺序如何?