如何从CSV文件中跳过行

时间:2019-01-29 05:34:45

标签: java opencsv

我正在尝试使csv文件成为一种趋势,我想从第一行跳到第四行。 你能告诉我怎么做吗?

//我的CSV文件:

1647卓 拉伸:铸造单元:驱动冷却辊:速度实际值

  

日期;时间;值;单位

     

22.01.2019; 05:54:08; 13.05; m / min

     

22.01.2019; 07:29:30; 19.65; m / min

     

22.01.2019; 07:29:31; 15.35; m / min

     

22.01.2019; 07:29:32; 8.55; m / min

     

22.01.2019; 07:29:32; 12.55; m / min

     

22.01.2019; 07:29:33; 12.96; m / min

@Override
    public void start(Stage stage) throws Exception
    {
        stage.setTitle("CSV Chart");
        final NumberAxis yAxis = new NumberAxis();
        final CategoryAxis xAxis = new CategoryAxis();

        final LineChart<String, Number> lineChart = new LineChart<>(xAxis, yAxis);
        yAxis.setLabel("Actual Value");
        xAxis.setLabel("Time Value");
        lineChart.setTitle("PVSS Trend");

        XYChart.Series series = new XYChart.Series();

        series.setName("Actual Value");

        try (CSVReader dataReader = new CSVReader(new FileReader("C:\\190122_cr_speed.csv"),';'))
        {   
            //String line01 = Files.readAllLines(Paths.get("C:\\190122_cr_speed.csv")).get(0);
            //System.out.print(line01);

            String[] nextLine; int i = 0; int j =0;
            while ((nextLine = dataReader.readNext()) != null)
            {
                String year = String.valueOf(nextLine[0]);
                String time = String.valueOf(nextLine[1]);
                float pvssvalue = Float.parseFloat(nextLine[2]);
                String unit = String.valueOf(nextLine[3]);

                series.getData().add(new XYChart.Data(year+time, pvssvalue));   
            }
        }

        lineChart.getData().addAll(series);
        Scene scene = new Scene(lineChart, 960, 540);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

2 个答案:

答案 0 :(得分:0)

要跳过前四行,请使用计数器和continue

while ((nextLine = dataReader.readNext()) != null)
{
     if (counter++ < 4)
         continue;
     ....
}

也许您可以使用未使用的变量ij之一?

答案 1 :(得分:-1)

我不确定,但是您可能是比我更有才能的Java程序员,但是我不知道您为什么使用CSVReader而不是Scanner (Scanner API)。扫描仪具有内置的nextLine()函数,并且能够读取.csv文件。