[英]Read csv file and taking input in java
我有一個 csv 文件,我將在代碼中閱讀。 但是當我運行代碼時,它向我顯示了這個錯誤:
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”是因為它試圖將 header(這是一個字符串)轉換為雙精度。
要解決此問題,您可以從數據中刪除標題或添加條件以跳過第一行。
希望這可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.