Go Parsing CSV files

From WikiOD

Syntax[edit | edit source]

  • csvReader := csv.NewReader(r)
  • data, err := csvReader.Read()

Simple CSV parsing[edit | edit source]

Consider this CSV data:

1,hello world,"This is a ""blog""."
2,second time,"My

This data can be read with the following code:

// r can be any io.Reader, including a file.
csvReader := csv.NewReader(r)
// Set comment character to '#'.
csvReader.Comment = '#'
for {
    post, err := csvReader.Read()
    if err != nil {
        // Will break on EOF.
    fmt.Printf("post with id %s is titled %q: %q\n", post[0], post[1], post[2])

And produce:

post with id 1 is titled "hello world": "This is a \"blog\"."
post with id 2 is titled "second time": "My\nsecond\nentry."
2009/11/10 23:00:00 EOF

Playground: https://play.golang.org/p/d2E6-CGGIe.