赞
踩
package main import ( "fmt" "encoding/csv" "os" "io" ) func main(){ f, err := os.Open("data.csv") if err != nil{ fmt.Println("Error: ", err) return } reader := csv.NewReader(f) // 可以一次性读完 result, err := reader.ReadAll() if err != nil{ fmt.Println("Error: ", err) return } fmt.Println(result) // 也可以一行一行进行读取 // 但是注意不要两种方式都使用 // 运行本代码第二种方式有可能没有数据,因为读指针已经指到了最后 for { line, err := reader.Read() if err == io.EOF{ break } else if err != nil{ fmt.Println("Error: ", err) return } fmt.Println(line) } }
package main import ( "fmt" "encoding/csv" "os" ) func main(){ f, err := os.OpenFile("data.csv", os.O_RDWR, 0666) if err != nil{ fmt.Println("Error: ", err) return } writer := csv.NewWriter(f) var header = []string{"id", "name", "age"} writer.Write(header) var data = []string{"3", "John", "23"} writer.Write(data) // 也可以一次性写入多条 var d = [][]string{{"1","Edgar", "20"}, {"2","Tom","18"}} writer.WriteAll(d) // 将缓存中的内容写入到文件里 writer.Flush() if err = writer.Error(); err != nil{ fmt.Println(err) } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。