Golang语言社区--Go操作CSV文件

大家好,我是Golang语言社区主编彬哥;今天给大家讲解一篇关于Go语言操作CSV文件的相关的。

读取CSV文件 如下:

读取的函数:

puck.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 (
	"项目目录/globalData"
	"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 文件(仅仅是个简单的例子,如果有针对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()
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏影子

PostgreSQL>窗口函数的用法

转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9311281.html

851
来自专栏用户2442861的专栏

Android游戏开发十日通(6)- 太空大战

http://blog.csdn.net/silangquan/article/details/16921035

672
来自专栏Golang语言社区

Golang语言社区--Go语言创建csv文件

大家好,我是Golang语言社区主编彬哥;今天给大家讲解一篇关于Go语言操作CSV文件的相关的。

962
来自专栏漫漫全栈路

Vim勉强入个门

最近在Linux环境下使用的情况变多了,再加上.NET Core的学习,需要在Linux下编辑文件,因此打算好好学习下传说中的陆上最强编辑器?(我只是听说,关...

3004
来自专栏PPV课数据科学社区

【学习】七天搞定SAS(六):宏的编写、程序调错

在SAS各种繁杂的PROC之后,还要来看看MACRO才可以嘛。又不能写函数... SAS中的MACRO:宏编写 MACRO主要是DO和%LET的各种组合,前者负...

3256
来自专栏惨绿少年

sed命令详解 vim高级技巧 shell编程上

第1章 sed命令详解 1.1 查找固定的某一行 1.1.1 awk命令方法 [root@znix ~]# awk '!/oldboy/' person.txt...

1880
来自专栏别先生

Spark入门,概述,部署,以及学习(Spark是一种快速、通用、可扩展的大数据分析引擎)

1:Spark的官方网址:http://spark.apache.org/ 1:Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL...

4464
来自专栏james大数据架构

你真的会玩SQL吗?实用函数方法汇总

你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接、外连接 你真的会玩SQL吗?三范式、数据完整性 你真...

1899
来自专栏数据之美

Pig、Hive 自定义输入输出分隔符以及Map、Array嵌套分隔符冲突问题

PIG中输入输出分隔符默认是制表符\t,而到了hive中,默认变成了八进制的\001, 也就是ASCII: ctrl - A Oct   Dec   Hex  ...

2095
来自专栏漫漫全栈路

Vim勉强入个门--循序渐进陆上最强编辑器

Vim作为一个编辑器,那么基本的功能当然就是编辑喽,所以先把它的编辑功能用好。

2282

扫码关注云+社区