РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1165 of 1593 menu

Метод csv.Writer.Write

Метод csv.Writer.Write записывает одну строку в формате CSV в выходной поток. В качестве параметра он принимает срез строк []string, представляющий собой поля одной записи. Метод добавляет необходимые разделители и кавычки в соответствии со стандартами формата CSV, после чего записывает данные во внутренний буфер. Для гарантированной записи всех данных в выходной поток необходимо вызвать метод Flush. В случае ошибки записи метод возвращает её, и дальнейшие операции с писателем становятся некорректными.

Синтаксис

err := writer.Write(record []string)

Пример

Давайте запишем простую строку с тремя полями в CSV-файл:

package main import ( "encoding/csv" "os" ) func main() { file, err := os.Create("data.csv") if err != nil { panic(err) } defer file.Close() writer := csv.NewWriter(file) record := []string{"John", "30", "New York"} err = writer.Write(record) if err != nil { panic(err) } writer.Flush() }

Пример

Давайте запишем несколько строк в CSV-файл, используя метод Write в цикле:

package main import ( "encoding/csv" "os" ) func main() { file, err := os.Create("users.csv") if err != nil { panic(err) } defer file.Close() writer := csv.NewWriter(file) records := [][]string{ {"Name", "Age", "City"}, {"Alice", "25", "London"}, {"Bob", "32", "Paris"}, {"Charlie", "28", "Berlin"}, } for _, record := range records { err := writer.Write(record) if err != nil { panic(err) } } writer.Flush() }

Пример

Давайте запишем строку, содержащую запятые и кавычки в полях. Метод Write автоматически экранирует такие символы в соответствии со стандартом CSV:

package main import ( "encoding/csv" "os" ) func main() { file, err := os.Create("escaped.csv") if err != nil { panic(err) } defer file.Close() writer := csv.NewWriter(file) record := []string{"Smith, John", `He said "Hello"`, "123"} err = writer.Write(record) if err != nil { panic(err) } writer.Flush() }

Смотрите также

  • метод csv.Writer.WriteAll,
    который записывает все строки из среза срезов за один вызов
  • метод csv.Writer.Flush,
    который сбрасывает буфер и записывает все данные в выходной поток
  • тип csv.Writer,
    который представляет собой писатель для работы с CSV-данными
  • функцию csv.NewWriter,
    которая создаёт новый экземпляр CSV-писателя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить