csv序列化(读取操作)

package main

import (
    "encoding/csv"
    "fmt"
    "io"
    "os"
)

func main() {
    csvFile, err := os.Open("./test.csv")
    if err != nil {
        panic(err)
    }
    defer csvFile.Close()

    // 创建一个对象
    csvReader := csv.NewReader(csvFile)

/*
    // 读取一行数据例子
    row, err := csvReader.Read()
    //上面代码会返回一个slice和错误信息,当文件结束的时候回返回io.EOF错误
    n := row[1]   //或者row[2] row[3]
    fmt.Println(n)
    */

    /*
    //读取剩下的行例子
    rows, err := csvReader.ReadAll() // `rows` is of type [][]string
    if err != nil {
        panic(err)
    }
    for i, row := range rows {
        // process the `row` here
    }
    */

    //用for循环多行读取例子
    for {
        row, err := csvReader.Read()
        // 读取到文件末尾break
        if err == io.EOF {
            break
        } else if err != nil {
            panic(err) // or handle it another way
        }
        // use the `row` here
        fmt.Printf(row[0] + "\n")
    }
}

你可能感兴趣的:(csv序列化(读取操作))