我有一个csv文件.我想从中提取特定的列.例如:
说,我有csv:
说,我有csv:
id1,caste1,salary,name1 63,Graham,101153.06,Abraham 103,Joseph,122451.02,Charlie 63,Webster,127965.91,Violet 76,Smith,156150.62,Eric 97,Moreno,55867.74,Mia 65,Reynolds,106918.14,Richard
如何使用opencsv只读取头文件caste1中的数据?
解决方法
opencsv中没有内置功能可以按名称从列中读取.
official FAQ example有关于如何从文件中读取的以下示例:
CSVReader reader = new CSVReader(new FileReader("yourfile.csv")); String [] nextLine; while ((nextLine = reader.readNext()) != null) { // nextLine[] is an array of values from the line System.out.println(nextLine[0] + nextLine[1] + "etc..."); }
您只需通过使用nextLine [1]访问行来获取每行第二列中的值(请记住,数组索引基于零).
所以,在你的情况下,你可以简单地从第二行读取:
CSVReader reader = new CSVReader(new FileReader("yourfile.csv")); String [] nextLine; while ((nextLine = reader.readNext()) != null) { System.out.println(nextLine[1]); }
有关从其标题确定列索引的更复杂方法,请参阅the answer from Scott Conway.