gpt4 book ai didi

java - 如何在java中循环遍历csv文件的某一列来查找某个字符串?

转载 作者:行者123 更新时间:2023-11-30 02:54:55 25 4
gpt4 key购买 nike

我希望能够循环遍历 csv 文件的第二列并找到特定字符串的索引。例如,查找值为“Chelsea”的所有索引。下面是我到目前为止的代码。

有什么帮助吗?

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class CSVReader {

public static void main(String[] args) {
CSVReader obj = new CSVReader();
obj.run();
}

public void run() {
String csv = "2015:2016.csv";
BufferedReader br = null;
String line = "";
String csvSplit = ",";
String[] football = new String[0];
try {
br = new BufferedReader(new FileReader(csv));
String headerLine = br.readLine();

while ((line = br.readLine()) != null) {
football = line.split(csvSplit);
}
}
catch (IOException io) {
System.out.println(io);
}
}
}

最佳答案

就寻找切尔西而言,您至少只需一条 if 语句即可。将此代码合并到您的 while 循环中:

while ((line = br.readLine()) != null) {
football = line.split(csvSplit);
if(football[1].equals("Chelsea") {
System.out.println("I found Chelsea!");
}
}

当然,我想您会希望提供更多信息。如果您想提供 Chelsea 所在线路的线路号码,您可以执行以下操作:

int index = 1;
while ((line = br.readLine()) != null) {
football = line.split(csvSplit);
if(football[1].equals("Chelsea") {
System.out.println("I found Chelsea on line " + index);
}
index++;
}

或者,如果您想使用 Chelsea 行的一个或所有元素,您可以执行以下操作:

while ((line = br.readLine()) != null) {
football = line.split(csvSplit);
if(football[1].equals("Chelsea") {
System.out.println("I found Chelsea on row with first column equal to " + football[0]);
System.out.println("The entire row consists of: ");
for(int i = 0; i < football.length; i++) {
System.out.print(football[i] + ", ");
}
System.out.println();
}
}

或者您可以将 Chelsea 的线路输入到程序的另一部分,以用它来做其他有趣的事情。

关于java - 如何在java中循环遍历csv文件的某一列来查找某个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37552736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com