Go读取CSV文件,其内容被转换成字符串数组

package main

import (
"encoding/csv"
"fmt"
"io/ioutil"
"log"
"strings"
"io"
) //读取CSV前两列到map中
func CSVToMap(filePath string) map[string]string{
dat, err := ioutil.ReadFile(filePath)
if err != nil {
log.Fatal(err)
}
r := csv.NewReader(strings.NewReader(string(dat[:]))) record, err := r.ReadAll() //record为二维数组
if err != nil {
panic("读取文件失败")
}
//fmt.Println(record) if r.FieldsPerRecord < {
panic("CSV不足两列")
} mapCsv := make(map[string]string)
//以csv文件第一列为KEY,第二列为value,转换为map;重复时后者覆盖前者
for _, val := range record {
mapCsv[val[]] = val[]
}
//fmt.Println(mapCsv)
return mapCsv
} //输出CVS文件的每一行
func readCSV(filePath string){
dat, err := ioutil.ReadFile(filePath)
if err != nil {
log.Fatal(err)
}
r := csv.NewReader(strings.NewReader(string(dat[:]))) for {
record, err := r.Read() if err == io.EOF {
break
}
if err != nil {
log.Fatal(err)
}
for i:= ;i<r.FieldsPerRecord;i++ {
fmt.Println(i,record[i])
}
}
} func main() {
filePath := "/usr/local/automng/src/goapp/src/tools/cmd2.csv"
readCSV(filePath)
mapCsv := CSVToMap(filePath)
df := mapCsv["common"]
fmt.Println(df)
}

最新文章

  1. web适配问题
  2. LogConfigruration
  3. java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException
  4. 每天一个linux命令(24):Linux文件类型与扩展名
  5. jquery引用方法时传递参数
  6. java父类转子类的一个方法
  7. 【java基础学习-2--】关于Hashcode()的使用
  8. FusionCharts xml入门教程
  9. innerHTML与appendChild(newnodeText)的区别
  10. 华为笔记HOSTS,便于访问云端存储
  11. POJ2484
  12. Bootstrap Web框架
  13. POJ 1308 Is It A Tree?和HDU 1272 小希的迷宫
  14. 窗口事件onresize
  15. FreeMarker的空值运算符和逻辑运算符
  16. 同一台主机部署两个比特币钱包以及rpc服务的摘要
  17. 大数据入门第七天——MapReduce详解(一)入门与简单示例
  18. oracle 修改属性
  19. android四大组件--ContentProvider具体解释
  20. 〖Windows〗zigbee实验之cygwin编译TestSimpleMac出错的解决方法

热门文章

  1. 白盒测试实践项目(day6)
  2. elasticsearch-jdbc 使用
  3. bootstrap-海棠
  4. (4)WePHP 模板引入CSS js
  5. jquery cookie用法
  6. 深入理解java虚拟机(十三) Java 即时编译器JIT机制以及编译优化
  7. CodeForces 146E Lucky Subsequence(组合数+DP)
  8. Vue--axios:vue中的ajax异步请求(发送和请求数据)、vue-resource异步请求和跨域
  9. CentOS 7安装GitLab、汉化、配置邮件发送
  10. tensorflow使用