日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

golang操作csv文件

 

日常中經常需要使用 golang 讀寫 csv 文件,比如將數據庫中的數據按照要求導出到 csv 中,讀取 csv 文件中的數據到內存中進行處理等操作。

ps: 如果是 Excel 文件(*.xlsm、.xls、.xlt 等格式結尾),需要將其另存為 .csv 格式的文件,才能操作。

package main

import (
	"bufio"
	"encoding/csv"
	"fmt"
	"io"
	"os"
)

var fileName = "./test.csv"

func main() {
	writeFile()
	readFile()
}

func writeFile() {
	file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR, 0644)
	if err != nil {
		fmt.Println("open file is failed, err: ", err)
	}
	defer file.Close()

	// 寫入UTF-8 BOM,防止中文亂碼
	file.WriteString("\xEF\xBB\xBF")
	w := csv.NewWriter(file)
	w.Write([]string{"開發者名稱", "開發者郵箱", "應用名稱"})
	w.Write([]string{"Ann", "Ann@126.com", "開心消消樂"})
	w.Write([]string{"Jony", "Jony@126.com", "微信"})
	// 寫文件需要flush,不然緩存滿了,后面的就寫不進去了,只會寫一部分
	w.Flush()
}

func readFile() {
	// 必須關閉文件后重新打開,才會讀出剛才寫入的數據
	file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR, 0644)
	if err != nil {
		fmt.Println("open file is failed, err: ", err)
	}
	defer file.Close()
	r := bufio.NewReader(file)
	for {
		b, err := r.ReadBytes('n')
		// 會把一行中最后的 n 也讀取出來,可以使用 TrimSpace 清空 n
		// b = bytes.TrimSpace(b)
		// b, err := buf.ReadString('n')
		if err != nil {
			if err == io.EOF {
				break
			}
			fmt.Println("err = ", err)
			return
		}
		fmt.Println(string(b))
	}
}
golang操作csv文件

 

運行結果

golang操作csv文件

 

分享到:
標簽:golang
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定