我有三个CSV文件,其中的数据由一串数字链接,我创建了一个二维数组来存储所有数据并拥有一个csv文件,其他文件中的数据不是以相同的顺序,所以我不能简单地将文件的第1行读入数组的第一行。
这是我的代码
public class grades {
public static void main(String[] args) throws FileNotFoundException
{
int rowc = 0;
String inputLine = "";
String[][] students = new String[10][6];
//Get scanner instance
Scanner scanner = new Scanner(new File("/IRStudents.csv"));
//Set the delimiter used in file
scanner.useDelimiter(",");
while (scanner.hasNextLine()) {
inputLine = scanner.nextLine();
String [] line = inputLine.split(",");
for (int x = 0; x < 2; x++) {
students[rowc][x] = line[x];
}
if (rowc < 9) {
rowc++;
}
else {
break;
}
}
System.out.println(Arrays.deepToString(students));
scanner.close();
Scanner input = new Scanner(new File("/IR101.csv"));
input.useDelimiter(",");
while (input.hasNext()) {
inputLine = input.nextLine();
String[] line = inputLine.split(",");
for (int i = 0; i < 1; i++) {
System.out.println(line[0]);
System.out.println(students[0][i]);
if (line[0].equals(students[0][i])) {
students[2][i] = line[0];
}
}
}
System.out.println(Arrays.deepToString(students));
}
}
我知道很多它不是很整洁或有效,但我觉得它很有效。无论如何,我如何遍历文件并将每个项目添加到数组的第3列,其中相应的字符串链接它们?
感谢。
答案 0 :(得分:0)
我希望我能正确理解你的问题。
在你的情况下,你可以将第三个csv加载到内存中然后循环遍历数组( 在另一个中为)并检查一个数组的键匹配另一个键(链接它们的字符串)并绑定它们。
提示:您可以像这样初始化学生属性:
students[rowc] = line;