读取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 mainimport ( "项目目录/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 mainimport ( "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()}
