例如,我的输入 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/