Mercurial > mercurial > hgweb_golang.cgi
view src/csv2json/csv2json.go @ 32:efa8836fd428
add encoding japanse & rune sample.
author | pyon@macmini |
---|---|
date | Fri, 17 May 2019 19:50:32 +0900 |
parents | bf5d764cd80d |
children |
line wrap: on
line source
/****************************************************************************/ /* csv2json.go */ /* Last Change: 2016-11-13 Sun 13:49:23. */ /* By T.Mutoh */ /****************************************************************************/ package main import ( "encoding/csv" "encoding/json" "flag" // "fmt" "log" "os" "strconv" ) type office struct { Id string Sv string Name string Addr string Phone string Fax string Capacity int } func main() { flag.Parse() f, err := os.Open( flag.Arg(0) ); if err != nil { log.Fatal( err ) } r := csv.NewReader( f ) r.Comment = '#' records, err := r.ReadAll(); if err != nil { log.Fatal( err ) } var offices []office for _, record := range records { c, err := strconv.Atoi( record[6] ); if err != nil { c = 0 } data := office{ Id: record[0], Sv: record[1], Name: record[2], Addr: record[3], Phone: record[4], Fax: record[5], Capacity: c, } offices = append( offices, data ) } bytes, err := json.Marshal( offices ); if err != nil { log.Fatal( err ) } os.Stdout.Write( bytes ) }