前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang实现从byte和文件中读取csv格式数据

golang实现从byte和文件中读取csv格式数据

作者头像
公众号-利志分享
发布2022-04-25 09:33:10
1.7K0
发布2022-04-25 09:33:10
举报
文章被收录于专栏:利志分享

1:新建csv_test.go文件。

代码语言:javascript
复制
package my_test_test

import (
    "bytes"
    "encoding/csv"
    "fmt"
    "os"
    "testing"
)

func TestA1(t *testing.T) {
    //从文件读csv
    readCsvFromFile()
    //从http返回的内容读取csv,这个场景是业务中可能拉取第三方api的数据
    readCsvFromByte()
}

//从byte读取csv数据
func readCsvFromByte() {
    str := `"sd","df","df"
"sv","ff","ggg"`
    dataByte := []byte(str)
    content, err := csv.NewReader(bytes.NewReader(dataByte)).ReadAll()
    if err != nil {
        fmt.Println(err)
        return
    }
    for k, row := range content {
        fmt.Println("k=", k)
        for _, row2 := range row {
            fmt.Println(row2)
        }
    }
}

//从文件读csv
func readCsvFromFile() {
    filePath := "E:\\Server\\go\\src\\any.com\\test\\my_test\\t.csv"
    file, err := os.Open(filePath)
    if err != nil {
        fmt.Println("err1", err)
        return
    }
    defer file.Close()
    //一次性读完文件内容
    content, err := csv.NewReader(file).ReadAll()
    if err != nil {
        fmt.Println("err2", err)
        return
    }
    for k, row := range content {
        fmt.Println("k=", k)
        for _, row2 := range row {
            fmt.Println(row2)
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档