读取csv文件并用java进行输入
我有一个csv文件,我将在代码中读取。 但当我运行代码时,它显示了以下错误:读取csv文件并用java进行输入,java,csv,exception,Java,Csv,Exception,我有一个csv文件,我将在代码中读取。 但当我运行代码时,它显示了以下错误: Exception in thread "main" java.lang.NumberFormatException: For input string: "lon" at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
Exception in thread "main" java.lang.NumberFormatException: For input string: "lon"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.base/java.lang.Double.parseDouble(Double.java:543)
at practise.main(practise.java:63)
请帮我做这个
这是我的密码:
s1 = new Scanner(new FileReader(filename2+".csv"));
while(s1.hasNext()){
z = s1.nextLine();
String[] results = z.split(",");
double[] lon_lat = new double [2];
lon_lat[0] = Double.parseDouble(results[1]);//longtitude
lon_lat[1] = Double.parseDouble(results[2]);//latitude
airportLonLat.put(Integer.parseInt(results[0]), lon_lat);
}
这是我的csv数据:
Id lon lat
1 -5.9300 54.5906
2 -5.9385 54.6013
3 -5.9191 54.5928
4 -5.9171 54.5992
5 -5.9273 54.5873
.......................
30 -5.9582 54.5834
程序从包含标题的第一行开始读取。您得到的是“NumberFormatException”,因为它正试图将标头(一个字符串)转换为double 要解决此问题,可以从数据中删除标题,也可以添加跳过第一行的条件
希望这能解决问题。根据变量所代表的内容来命名变量是一种很好的做法,这样即使在两周后再次使用代码,代码也更可读、更容易理解
s1
和z
可以是任何内容。@辍学者,谢谢。我会的。哦,我现在明白了。这就是原因。非常感谢。