专栏首页Golang语言社区Golang语言社区--Go操作CSV文件
原创

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 条评论
登录 后参与评论

相关文章

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

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

    李海彬
  • Golang语言社区-文件操作

    Golang语言社区-文件操作 go语言支持的文件操作很多 1、传统的文件操作 导入文件操作需要的包 import "os" 1、文件的打开 f := os...

    李海彬
  • 【Go 语言社区】Go文件操作函数

    文件操作 golang的文件操作时在os包中的。 所以用的时候要import os包 包含以下的这些函数 func Create(n...

    李海彬
  • 【Golang语言社区】Go语言操作注册表思路

       大家好,我是社区主编彬哥;本篇文章主要是介绍下Go如何操作windows的注册的思路;在windows平台,用cmd命令大家都启动过注册表吧? 先  wi...

    李海彬
  • 【Go 语言社区】Golang语言操作redis连接池的方法

    func newPool(server, password string) *redis.Pool { return &redis.Pool{ ...

    李海彬
  • 【Go 语言社区】Golang语言的time.Sleep

    首先:time.sleep单位为:1ns (纳秒) 转换单位: 1纳秒 =1000皮秒 1纳秒 =0.001 微秒 1纳秒 ...

    李海彬
  • Golang语言社区-Go语言递归

    递归是以相似的方式重复项目的过程。同样适用于编程语言中,如果一个程序可以让你调用同一个函数被调用的函数,递归调用函数内使用如下。 func recursion(...

    李海彬
  • 【Golang语言社区】GO语言启动exe文件并传递参数

    大家好,我是社区主编彬哥,今天给大家带来的是关于go语言命令调用本地的exe,并传递参数启动,代码如下: package main import (...

    李海彬
  • Golang语言社区--golang 进度下载文件

    大家好,我是Golang社区主编彬哥,本篇给大家转载一篇关于文件下载相关的文章。

    李海彬
  • 【Golang语言社区】 Go语言中使用 Protobuf

    安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 pr...

    李海彬
  • 【Go 语言社区】Golang 语言学习-变量

    注:go语言中,不要求语句末尾加分号,这点和python类似。 注:go语言中,不允许定义没有用到的变量,否则报错,就像import一个没用到的package会...

    李海彬
  • 【Go 语言社区】Golang 语言再谈接口

    Go编程提供所谓的接口是另一种数据类型,代表了一组方法签名。结构数据类型实现这些接口对接口的方法签名,并其实现方法具体定义。 Syntax /* define ...

    李海彬
  • 【Go 语言社区】Golang 语言再谈常量

    常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。 常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有枚...

    李海彬
  • Golang语言社区--Go语言学习资料下载(PDF文件、视频)

    大家好,我是社区主编彬哥,今天给大家整理了部分的GO语言相关的学习资料;已经上传至百度网盘;欢迎下载;后面会持续更新:

    李海彬
  • 【Go 语言社区】Golang 转义字符

    \a 匹配响铃符 (相当于 \x07) 注意:正则表达式中不能使用 \b 匹配退格符,因...

    李海彬
  • 【Go 语言社区】Golang内存分配

    golang内存分配 new一个对象的时候,入口函数是malloc.go中的newobject函数 func newobject(typ *_type) uns...

    李海彬
  • Golang语言社区--go语言编写Web程序

    首先,要有一个Linux, OS X, or FreeBSD系统,可以运行go程序。如果没有的话,可以安装一个虚拟机(如VirtualBox)或者 Virtua...

    李海彬
  • 【Go 语言社区】Golang语言设计哲学--转

    世界是并行的----先不说宇宙,就整个地球来说,世界万物都是并行发生的;天生对并发支持良好的go语言更容易描述并行的世界; 世界是由物质组合构成的---微观世...

    李海彬
  • go语言读取CSV文件

    package main import ( "encoding/csv" "fmt" "io/ioutil" ...

    李海彬

扫码关注云+社区

领取腾讯云代金券