對(duì)于我的 CSV 文件,每一行都有相同的列數(shù),但對(duì)于最后一行,那只有一列,所以當(dāng)我用“foreach”讀取文件數(shù)據(jù)以獲得總行數(shù)時(shí),我遇到了錯(cuò)誤字段數(shù),如何在不刪除最后一行的情況下修復(fù)此錯(cuò)誤?此處的代碼和 CSV 文件:openfile, err := os.Open(filepath) checkError("Error in reading the file\n", err) fmt.Println("Already open filepath :", filepath) //read the data of file filedata, err := csv.NewReader(openfile).ReadAll() checkError("Error in reading the file\n", err) leg := len(filedata) fmt.Println("total no of rows:", leg) close := make([]string, leg) date := make([]string, leg) open := make([]string, leg) high := make([]string, leg) low := make([]string, leg) adjustclose := make([]string, leg) volume := make([]string, leg) for e, value := range filedata { date[e] = value[0] open[e] = value[1] high[e] = value[2] low[e] = value[3] close[e] = value[4] adjustclose[e] = value[5] volume[e] = value[6] }2020-03-24,21,21,21,21,21,52020-04-06,20.8,20.8,20.8,20.8,20.8,192020-04-07,20.4,20.4,20.4,20.4,20.4,52020-04-09,20.4,20.4,20.4,20.4,20.4,10292
1 回答

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
通過(guò)將FieldsPerRecord設(shè)置為負(fù)值來(lái)禁用 CSV 閱讀器中的記錄長(zhǎng)度測(cè)試。
csvr := csv.NewReader(openfile)
csvr.FieldsPerRecord = -1
filedata, err := csvr.ReadAll()
測(cè)試應(yīng)用代碼中的記錄長(zhǎng)度:
for e, value := range filedata {
if len(value) < 7 {
continue // skip short records
}
...
}
- 1 回答
- 0 關(guān)注
- 179 瀏覽
添加回答
舉報(bào)
0/150
提交
取消