我正在尝试使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);
}
}
答案 0 :(得分:0)
要跳过前四行,请使用计数器和continue
while ((nextLine = dataReader.readNext()) != null)
{
if (counter++ < 4)
continue;
....
}
也许您可以使用未使用的变量i
或j
之一?
答案 1 :(得分:-1)
我不确定,但是您可能是比我更有才能的Java程序员,但是我不知道您为什么使用CSVReader而不是Scanner (Scanner API)。扫描仪具有内置的nextLine()函数,并且能够读取.csv文件。