Java 如何使用唯一值从CSV文件中选择特定行

Java 如何使用唯一值从CSV文件中选择特定行,java,opencsv,Java,Opencsv,我有几行CSV文件,其中包含以下值: 2, Joe, BMW 6, Mark, Audio 7, Jeff, Fiat 9, Mike, Toyota 现在我知道了如何使用OpenCSV选择特定的行,例如第1行、第2行或第3行等,但我不知道如何选择第一个值为6的行。有什么建议吗 谢谢您可以: Reader reader = new FileReader("data.csv"); List<String[]> rows = new CSVReader(reader).readAll(

我有几行CSV文件,其中包含以下值:

2, Joe, BMW
6, Mark, Audio
7, Jeff, Fiat
9, Mike, Toyota
现在我知道了如何使用OpenCSV选择特定的行,例如第1行、第2行或第3行等,但我不知道如何选择第一个值为6的行。有什么建议吗

谢谢

您可以:

Reader reader = new FileReader("data.csv");
List<String[]> rows = new CSVReader(reader).readAll();

for(String[] column: rows) {
if (column[1].equals("6")){
    System.out.println("Found row No. is " + rows.indexOf(column));
}
}
Reader=newfilereader(“data.csv”);
列表行=新的CSVReader(reader).readAll();
for(字符串[]列:行){
if(第[1]列等于(“6”)){
System.out.println(“找到的行号为”+rows.indexOf(column));
}
}
@Dharanae


您应该使用
String[]rows
而不是
List rows
,因为
readNext()
会返回一个
String[]

,虽然您可能想使用
readNext()
而不是
readAll()
——但您不想看到CSV文件的末尾,并意识到您想要的是第二行。
if(列)[1] ==“6”){
?切勿使用
=
!=
比较字符串。请使用
等于(…)
相等信号格(…)
方法。请理解,
==
检查两个对象引用是否相同,这不是您感兴趣的。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,这才是重要的。