我在使用OPENCSV并尝试从一行读取特定列时遇到小问题。我有一个看起来像这样的csv文件
"ID","Name","Name2","Date","Author"
"1","Alex","Example","18.3.2016","Alex"
现在我想只读第2列和第3列(名称和名称2)。
我的代码看起来像这样
try {
CSVReader reader = new CSVReader(new FileReader(filelocation));
String [] nextLine;
int rowNumber = 0;
while ((nextLine = reader.readNext()) != null) {
rowNumber++;
for(int i = 0; i< nextLine.length ; i++){
System.out.println("Cell index: " + i);
System.out.println("Cell Value: " + nextLine[i]);
System.out.println("---");
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我已经尝试手动将“i”变量设置为1和2.但是后来我在日志中显示了4个相同的结果。缺什么?谢谢!
答案 0 :(得分:2)
没关系,我找到了诀窍。
以下是它的外观。
try {
CSVReader reader = new CSVReader(new FileReader(filelocation));
String [] nextLine;
int rowNumber = 0;
while ((nextLine = reader.readNext()) != null) {
rowNumber++;
String name = nextLine[1];
String name2 = nextLine[2];
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
之后,我可以得到字符串值并使用它。