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")
    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 梁素红,焦点网络九期持续分享第353天(473)舞钢 嗓子疼多日,又用以前的老方子,喵眼睛熬水喝,昨天晚上和了两个...
    天高地阔心飞扬阅读 1,328评论 0 0
  • https://chrisyeh96.github.io/2017/08/08/definitive-guide-...
    Sugeei阅读 3,110评论 0 0
  • 嘿 ,你知道吗 人有时候真的特逗,为了那张面子死活低不下头,自己陷在自己给自己设的圈套里,告诉自己:先让我低头认错...
    DNAWONG阅读 1,828评论 0 0

友情链接更多精彩内容