gpt4 book ai didi

java - 在Java中比较2个csv文件中的2列

转载 作者:行者123 更新时间:2023-12-02 00:17:26 27 4
gpt4 key购买 nike

我有两个带有主键的 csv,我试图将两个键进行比较,以便我可以将相关的 csv 合并到一个具有正确键的 csv,但是现在我只想比较第一列中的内容。我的脑子有点空白,我希望通过代码你可以弄清楚我前进的方向。我无法让我的数组真正接受字符串。 java.lang.arrayindexoutofbounds异常

import java.io.<em>;
import java.util.</em>;



<p>public class UDC {
public void search(String [][] wat, String [][] ud){</p>

<pre><code>}


public static void main (String [] args) throws IOException
{
String [] [] cols = {};
String [] [] cols1={};
int row =0;
int row1 =0;
int j = 0;


/*Scanner s = new Scanner(new File("Watford Update File.csv"));
Scanner c = new Scanner(new File("udc.csv"));
while (s.hasNextLine()){
String line = s.nextLine();
cols =line.split(",");
System.out.println(cols[0]);*/
Scanner s = new Scanner(new File("file1.csv"));
Scanner w = new Scanner (new File("file.csv"));
while (w.hasNextLine())

{
String line1 = w.nextLine();
System.out.println(cols);
//cols[row]=line1.split(",");
row ++;
if(!w.hasNextLine()){
while (s.hasNextLine()){
String line2 = s.nextLine();
//cols1[row1]=line2.split(",");
//put while loop in diffrent method but break


if(cols[j].equals(cols1[row1]))
{

j++;
row1++;
System.out.print(cols[j]);
System.out.print(" ");
System.out.print(cols1[row1]);
System.out.println();

}else{
row1++;

}

}


}
}

}
</code></pre>

}

最佳答案

而不是使用数组 colscols1 ,你应该使用List<String[]> 。另外,您的代码非常困惑,因为比较循环与读取循环交织在一起。最好先读入数据,然后进行比较。

public static void main(String [] args)
{
List<String[]> cols;
List<String[]> cols1;
try {
cols = readFile("udc.csv");
cols1 = readFile("Watford Update File.csv");
} catch (IOException e) {
e.printStackTrace();
return;
}
// loop through array lists to do your comparisons
// For example, to compare the first column of rows i and j:
// cols.get(i)[0].equals(cols1.get(j)[0])
}

private static List<String[]> readFile(String fileName) throws IOException
{
List<String[]> values = new ArrayList<String[]>();
Scanner s = new Scanner(new File("udc.csv"));
while (s.hasNextLine()) {
String line = s.nextLine();
values.add(line.split(","));
}
return values;
}

关于java - 在Java中比较2个csv文件中的2列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653921/

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