2.6 Go 读取CSV
生活随笔
收集整理的這篇文章主要介紹了
2.6 Go 读取CSV
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Go讀取CSV文件,其內容被轉換成字符串數組
package mainimport ("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 < 1 {panic("CSV不足兩列")}mapCsv := make(map[string]string)//以csv文件第一列為KEY,第二列為value,轉換為map;重復時后者覆蓋前者for _, val := range record {mapCsv[val[0]] = val[1]}//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:= 0;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) }?
轉載于:https://www.cnblogs.com/perfei/p/10641941.html
總結
以上是生活随笔為你收集整理的2.6 Go 读取CSV的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redhat6.下安装配置hadoop环
- 下一篇: 2、Spring Cloud - 入门概