golang 如何读取csv文件


本文摘自php中文网,作者尚,侵删。

go语言读取CSV的方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

package main

  

import (

    "encoding/csv"

    "fmt"

    "io"

    "log"

    "os"

)

  

func main() {

    //准备读取文件

    fileName := "D:\\gotest\\src\\source\\test.csv"

    fs, err := os.Open(fileName)

    if err != nil {

        log.Fatalf("can not open the file, err is %+v", err)

    }

    defer fs.Close()

  

    r := csv.NewReader(fs)

    //针对大文件,一行一行的读取文件

    for {

        row, err := r.Read()

        if err != nil && err != io.EOF {

            log.Fatalf("can not read, err is %+v", err)

        }

        if err == io.EOF {

            break

        }

        fmt.Println(row)

    }

  

    //针对小文件,也可以一次性读取所有的文件

    //注意,r要重新赋值,因为readall是读取剩下的

    fs1, _ := os.Open(fileName)

    r1 := csv.NewReader(fs1)

    content, err := r1.ReadAll()

    if err != nil {

        log.Fatalf("can not readall, err is %+v", err)

    }

    for _, row := range content {

        fmt.Println(row)

    }

  

}

os包是系统标准库里面有操作系统相关的函数和变量,打开一个文件可以使用os.open。

阅读剩余部分

相关阅读 >>

关于一个mongodb和golang搭伙采坑

golang中的联合体

基于web的局域网文件管理系统

开发者的福音,go也支持linq了

[go]golang 1.16 中 modules的主要变化更新

golang iota从几开始

【paspberry pi】部署kubernetes

聊聊promtail的positions

go module访问私有git仓库

gin快速入门

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...