Я хочу знать, есть ли у кого-нибудь лучший способ прочитать csv-файл, пропуская верхний и нижний колонтитулы в Go
В настоящее время я просто перемещаю каждую строку вверх и удаляю последние две строки
func ReadFile(w http.ResponseWriter, r *http.Request) (records [][]string, err error) {
var file multipart.File
// do not allow file bigger than 10MB
err = r.ParseMultipartForm(10 << 20)
if err != nil {
return
}
file, _, err = r.FormFile("file")
if err != nil {
return
}
defer file.Close()
records, err = csv.NewReader(file).ReadAll()
if err != nil {
return
}
for i := range records {
if i == 0 {
// skip header line
continue
} else if i >= len(records)-1 {
// skip footer line
break
}
records[i-1] = records[i]
}
records = records[:len(records)-2]
return
}