大家好,新年快乐!
我正在使用一个 csv
文件,如下所示:
orange | red
blue | green
red | red
brown | brown
yellow | black
grey | pink
我的目标是扫描每一行并检查每对是否由相同的元素制成。
我想打印具有不同项目的总行数。
在本例中我们有 4 个。
我还想打印哪一行包含它们及其各自的编号。
在这种情况下:
1 orange red
2 blue green
5 yellow black
6 grey pink
我在这里搜索了类似的问题,但我所能找到的只是关于多个 csv 文件。
我正在使用 Java...根据我目前的理解,一个好的开始是:
Scanner scanner = new Scanner(new File("path to my csv file"));
scanner.useDelimiter(";");
while(scanner.hasNext()){
// comparing items in rows
}
scanner.close();
我现在不知道在 while 循环中做什么。
非常感谢!
最佳答案
假设每行的两个项目都用分号和可选的空格分隔,下面的实现应该可以工作。如果情况并非如此,那么您可以更改用于分割每行的分隔符。
int total = 0;
int rowNum = 1;
while (scanner.hasNext()) {
// comparing items in rows
String[] parts = scanner.nextLine().split("\\s*;\\s*");
if (!parts[0].equals(parts[1])) {
System.out.println(rowNum + " " + parts[0] + " " + parts[1]);
++total;
}
++rowNum;
}
System.out.println("There were " + total + " rows where the two items were not equal.");
关于java - 比较 csv 中的值并打印不同对的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415279/