Files
script/input_scv.go
2025-08-30 22:00:31 +03:00

37 lines
591 B
Go

package script
import (
"context"
"encoding/csv"
"os"
)
// CSV creates csv.Reader reading from filename.
func NewCSVReader(filename string) (*CSVReader, error) {
return newCSVreader(filename)
}
type CSVReader struct {
f *os.File
rdr *csv.Reader
}
func (c *CSVReader) Read(context.Context) ([]string, error) {
return c.rdr.Read()
}
func (c *CSVReader) Close() error {
return c.f.Close()
}
func newCSVreader(name string) (*CSVReader, error) {
f, err := os.Open(name)
if err != nil {
return nil, err
}
csvr := csv.NewReader(f)
return &CSVReader{f: f, rdr: csvr}, nil
}