Как сохранить переменную в последнюю строку существующего файла CSV - PullRequest
1 голос
/ 08 апреля 2020

Если у меня есть данные для хранения в последней строке файла CSV, как мне это сделать с Go? Я не знаю, как вставить новые данные. Я искал в Google, но безрезультатно.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2020

Если вы хотите просто добавить некоторые данные в ваш CSV-файл, вы можете открыть файл с флагом и разрешением и записать в него новые данные.

Вот пример кода:

package main

import (
    "encoding/csv"
    "log"
    "os"
)

func main() {
    path := "sample.csv"
    file, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    var data [][]string
    data = append(data, []string{"nice", "good"})
    data = append(data, []string{"good", "better"})

    w := csv.NewWriter(file)
    w.WriteAll(data)
}
0 голосов
/ 08 апреля 2020

Здесь ответили:

Добавить к файлу в Go

Я пометил этот вопрос как дубликат.

Мне нравится пример, приведенный в go документах здесь :

package main

import (
    "log"
    "os"
)

func main() {
    // If the file doesn't exist, create it, or append to the file
    f, err := os.OpenFile("access.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
    if err != nil {
        log.Fatal(err)
    }
    if _, err := f.Write([]byte("appended some data\n")); err != nil {
        log.Fatal(err)
    }
    if err := f.Close(); err != nil {
        log.Fatal(err)
    }
}

Флаг os.O_APPEND является важной частью, которая добавит новую строку в конец файла.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...