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

Функция csv.NewReader

Функция csv.NewReader создает новый ридер для чтения CSV-данных из переданного в параметре io.Reader. Возвращаемый объект *csv.Reader предоставляет методы для построчного или полного чтения записей. Ридер автоматически обрабатывает стандартные настройки CSV: запятая в качестве разделителя, двойные кавычки для экранирования.

Синтаксис

csv.NewReader(r io.Reader) *csv.Reader

Пример

Давайте прочитаем все записи из CSV-строки с разделителем запятой:

package main import ( "encoding/csv" "fmt" "strings" ) func main() { data := "name,age,city\nJohn,30,NY\nJane,25,LA" r := csv.NewReader(strings.NewReader(data)) records, err := r.ReadAll() if err != nil { fmt.Println("Error:", err) return } for _, record := range records { fmt.Println(record) } }

Результат выполнения кода:

[name age city] [John 30 NY] [Jane 25 LA]

Пример

Давайте прочитаем CSV-строку с точкой с запятой в качестве разделителя, изменив настройки ридера:

package main import ( "encoding/csv" "fmt" "strings" ) func main() { data := "id;product;price\n1;apple;1.50\n2;banana;0.75" r := csv.NewReader(strings.NewReader(data)) r.Comma = ';' // устанавливаем разделитель records, err := r.ReadAll() if err != nil { fmt.Println("Error:", err) return } for _, record := range records { fmt.Println(record) } }

Результат выполнения кода:

[id product price] [1 apple 1.50] [2 banana 0.75]

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

  • функцию csv.NewWriter,
    которая создает объект для записи CSV-данных
  • метод csv.Reader.ReadAll,
    который читает все записи из CSV
  • метод csv.Reader.Read,
    который читает одну запись из CSV
  • структуру csv.ParseError,
    которая описывает ошибки разбора CSV
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить