Вести с Полей
Канал с советами по современной ИИ разработке. Вступайте!
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить