簡體   English   中英

讀取 csv 文件並在 java 中輸入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM