2.6 Go 读取CSV
生活随笔
收集整理的這篇文章主要介紹了
2.6 Go 读取CSV
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Go讀取CSV文件,其內(nèi)容被轉(zhuǎn)換成字符串?dāng)?shù)組
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為二維數(shù)組if err != nil {panic("讀取文件失敗")}//fmt.Println(record)if r.FieldsPerRecord < 1 {panic("CSV不足兩列")}mapCsv := make(map[string]string)//以csv文件第一列為KEY,第二列為value,轉(zhuǎn)換為map;重復(fù)時后者覆蓋前者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) }?
轉(zhuǎn)載于:https://www.cnblogs.com/perfei/p/10641941.html
總結(jié)
以上是生活随笔為你收集整理的2.6 Go 读取CSV的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redhat6.下安装配置hadoop环
- 下一篇: 第三次作业-结对编程