我正在使用 Go讀取MaxMind GeoIP Lite City 位置 CSV 文件:csvFile, err := os.Open("/path/GeoLiteCity_20130702/GeoLiteCity-Location.csv")defer csvFile.Close()if err != nil { panic(err)}csvf := csv.NewReader(csvFile)csvf.Read() // skip header rowfor { fields, err := csvf.Read() if err == io.EOF { break } else if err != nil { panic(err) } // does nothing yet}我得到的錯誤是:恐慌:第 2 行,第 22 列:行尾的額外分隔符goroutine 1 [運行]: main.main() /path/myprogram.go:239 +0x108fgoroutine 2 [runnable]:退出狀態(tài) 2該文件很長,但從以下幾行開始:locId,country,region,city,postalCode,latitude,longitude,metroCode,areaCode1,O1,,,,0.0000,0.0000,,2,AP,,,,35.0000,105.0000,,3,EU,,,,47.0000,8.0000,,4,AD,,,,42.5000,1.5000,,5,AE,,,,24.0000,54.0000,,6,AF,,,,33.0000,65.0000,,7,AG,,,,17.0500,-61.8000,,8,AI,,,,18.2500,-63.1667,,9,AL,,,,41.0000,20.0000,,它似乎格式正確。每行有 9 個字段。第 239 行是我調(diào)用恐慌的行,panic(err). 如您所見,它在 CSV 文件的第 2 行失敗,這發(fā)生在循環(huán)的第一次迭代中(在循環(huán)之前讀取第 1 行,以跳過標題行)。第 2 行的第 22 列是倒數(shù)第二個逗號。我在這里錯過了什么嗎?我沒有看到任何尾隨逗號......(澄清:每行末尾的逗號必須存在以指示空字段值,因此它們不會尾隨,如額外的。)
- 2 回答
- 0 關注
- 230 瀏覽
添加回答
舉報
0/150
提交
取消