Есть ли пропустить заголовок и нижний колонтитул CSV-файла в Go - PullRequest
0 голосов
/ 31 октября 2019

Я хочу знать, есть ли у кого-нибудь лучший способ прочитать 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...