【问题标题】:deleting first line when reading csv in Java在 Java 中读取 csv 时删除第一行
【发布时间】:2016-02-07 21:46:38
【问题描述】:

我读过类似的主题,但没有找到任何使用这种阅读方法的主题,所以我无法修复它。

使用以下方法阅读时如何跳过第一行? 顺便说一句,我在第二次阅读时遇到了麻烦,在以下行之后:

File file = new File("attendance.csv");

代码:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.List;
import java.util.Scanner;

public class ClassAttendance {

public static void main(String[] args) throws Exception {

            int rowCount = 0;
            int colCount = 0;

        Scanner rc = new Scanner(new File("attendance.csv"));
        while (rc.hasNextLine()) {
            rowCount++;
            rc.nextLine();
        }
        rc.close();

    File file = new File("attendance.csv");
    List<String> lines = Files.readAllLines(file.toPath(), 
            StandardCharsets.UTF_8);
    double sum = 0;
    double avg;
        for(int n=1; n<3; ++n){
            for (String line : lines) {
        String[] array = line.split(",");
        System.out.println(array[n]);

        sum = sum + Double.parseDouble(array[n]);
    }   
        avg = sum/rowCount;
        System.out.print("Week ");
        System.out.print(n);
        System.out.print("Average = ");
        System.out.print(avg);
        System.out.println();
    }

}
}

到目前为止,我尝试过:

List<String> headerLine = Files.readLine(file.toPath());

在“readAllLines”行之上,但它对我不起作用

【问题讨论】:

  • 问题出在下一部分,在"File file = new File("attendance.csv");之后

标签: java arrays csv bufferedreader


【解决方案1】:

请尝试替换以下行:

for (String line : lines) {
    String[] array = line.split(",");
...

致这些:

for (int i=1; i<lines.size(); i++) {
    String[] array = lines.get(i).split(",");
...

通过这种方式,我们可以跳过读取第一行(因为我们初始化 i=1 而不是“正常”i=0)。

【讨论】:

  • 效果很好,我为此困扰了很久,非常感谢!
  • @Win 非常感谢 :-)
猜你喜欢
  • 1970-01-01
  • 2014-01-26
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 1970-01-01
相关资源
最近更新 更多