Golang语言社区--Go操作CSV文件
时间:2022-05-04
本文章向大家介绍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("xEFxBBxBF") // 写入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()
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux 网络编程 socket选项的实现
- Ubuntu16.04安装Jenkins的方法图文详解
- leetcode树之对称二叉树
- linux 上在指定时间段内每隔多少分钟自动执行任务计划crontab
- 详解如何使用Spark和Scala分析Apache访问日志
- Centos 7.4中的远程访问控制的实现方法
- Linux查找特定程序whereis实例详解
- SpringBoot实战(二):SpringMvc接收xml请求
- CentOS环境下安装PHPUnit的方法分析
- Centos下安装Ansible的示例代码
- ubuntu18.04安装搜狗拼音的简易教程
- linux中$符号的基础用法总结
- Linux下的 mariadb 使用 root 用户启动方式(推荐)
- window与linux项目部署之linux文件路径不存在问题
- Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib