读取CSV文件
// globalData数据结构所在目录
package Global_Define
// csv配置表var
G_StCard2InfoBaseST map[string]*Card2InfoBase // 卡牌活动结构// 卡牌活动结构
type Card2InfoBase struct {
Card2ID string // 卡牌的ID
Card2Msg string // 卡牌的描述
Card2GameName string // 卡牌的地点
Card2GameID string // 策划看到的类型
PicPath string // 图片路径
Type string // 卡牌类型
}
--------------------------------------------------
package main
import (
"项目目录/Global_Define"
"encoding/csv"
"fmt"
"io/ioutil"
"strconv"
"strings"
)
// 获取卡牌的列表
func ReadCsv_ConfigFile_StCard2List_Fun() bool {
// 获取数据,按照文件
fileName := "puke.csv"
fileName = "./csv/" + fileName
cntb, err := ioutil.ReadFile(fileName)
if err != nil {
return false
}
// 读取文件数据
r2 := csv.NewReader(strings.NewReader(string(cntb)))
ss, _ := r2.ReadAll()
sz := len(ss)
// 循环取数据
for i := 1; i < sz; i++ {
Infotmp := new(Global_Define.Card2InfoBase)
Infotmp.Card2ID = ss[i][0]
Infotmp.Card2Msg = ss[i][1]
Infotmp.Card2GameName = ss[i][2]
Infotmp.Card2GameID = ss[i][3]
Infotmp.PicPath = ss[i][4]
Infotmp.Type = ss[i][5]
Global_Define.G_StCard2InfoBaseST[Infotmp.Card2ID] = Infotmp
}
fmt.Println(Global_Define.G_StCard2InfoBaseST)
return true
}
写入CSV文件
package main
import (
"encoding/csv"
"fmt"
"os"
)
func main() {
f, err := os.Create("test.csv") //创建文件
if err != nil {
panic(err)
}
defer f.Close()
f.WriteString("\xEF\xBB\xBF") // 写入UTF-8 BOM
w := csv.NewWriter(f) //创建一个新的写入文件流
data := [][]string{
{"1", "中国", "23"},
{"2", "美国", "23"},
{"3", "bb", "23"},
{"4", "bb", "23"},
{"5", "bb", "23"},
}
w.WriteAll(data) //写入数据
w.Flush()}