Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "encoding/csv"
- "encoding/json"
- "fmt"
- "io/ioutil"
- "os"
- )
- type ServerInfo struct {
- Vmhost string `json:"vmhost"`
- Vcpu int `json:"vcpu"`
- }
- type Out map[string]ServerInfo
- func main() {
- src, err := ioutil.ReadFile("./infovm.json")
- if err != nil {
- fmt.Println(err)
- }
- o := &Out{}
- err = json.Unmarshal(src, o)
- if err != nil {
- fmt.Println(err)
- }
- f, err := os.Create("./infovm.csv")
- if err != nil {
- fmt.Println(err)
- }
- defer f.Close()
- w := csv.NewWriter(f)
- title := []string{"host", "cpu"}
- err = w.Write(title)
- for _, v := range *o {
- record := []string{
- v.Vmhost,
- fmt.Sprint(v.Vcpu),
- }
- err := w.Write(record)
- if err != nil {
- fmt.Println(err)
- }
- }
- // Write any buffered data to the underlying writer
- w.Flush()
- if err := w.Error(); err != nil {
- fmt.Println(err)
- }
- fmt.Println("done")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement