日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go语言csv文件的读取与写入

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go语言csv文件的读取与写入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

go語言csv文件的讀取

暫時未整理

package mainimport ("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)}//創建一個新文件newFileName := "D:\\gotest\\src\\source\\newfile.csv"//這樣打開,每次都會清空文件內容//nfs, err := os.Create(newFileName)//這樣可以追加寫nfs, err := os.OpenFile(newFileName, os.O_RDWR|os.O_CREATE, 0666)if err != nil {log.Fatalf("can not create file, err is %+v", err)}defer nfs.Close()nfs.Seek(0, io.SeekEnd)w := csv.NewWriter(nfs)//設置屬性w.Comma = ','w.UseCRLF = truerow := []string{"1", "2", "3", "4", "5,6"}err = w.Write(row)if err != nil {log.Fatalf("can not write, err is %+v", err)}//這里必須刷新,才能將數據寫入文件。w.Flush()//一次寫入多行var newContent [][]stringnewContent = append(newContent, []string{"1", "2", "3", "4", "5", "6"})newContent = append(newContent, []string{"11", "12", "13", "14", "15", "16"})newContent = append(newContent, []string{"21", "22", "23", "24", "25", "26"})w.WriteAll(newContent)}

轉載于:https://blog.51cto.com/14263015/2402913

總結

以上是生活随笔為你收集整理的go语言csv文件的读取与写入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。