Advertisement
Guest User

Untitled

a guest
Aug 29th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "encoding/csv"
  5. "encoding/json"
  6. "fmt"
  7. "io/ioutil"
  8. "os"
  9. )
  10.  
  11. type ServerInfo struct {
  12. Vmhost string `json:"vmhost"`
  13. Vcpu int `json:"vcpu"`
  14. }
  15.  
  16. type Out map[string]ServerInfo
  17.  
  18. func main() {
  19. src, err := ioutil.ReadFile("./infovm.json")
  20.  
  21. if err != nil {
  22. fmt.Println(err)
  23. }
  24.  
  25. o := &Out{}
  26. err = json.Unmarshal(src, o)
  27.  
  28. if err != nil {
  29. fmt.Println(err)
  30. }
  31.  
  32. f, err := os.Create("./infovm.csv")
  33.  
  34. if err != nil {
  35. fmt.Println(err)
  36. }
  37.  
  38. defer f.Close()
  39.  
  40. w := csv.NewWriter(f)
  41.  
  42. title := []string{"host", "cpu"}
  43. err = w.Write(title)
  44.  
  45. for _, v := range *o {
  46. record := []string{
  47. v.Vmhost,
  48. fmt.Sprint(v.Vcpu),
  49. }
  50. err := w.Write(record)
  51. if err != nil {
  52. fmt.Println(err)
  53. }
  54. }
  55.  
  56. // Write any buffered data to the underlying writer
  57. w.Flush()
  58.  
  59. if err := w.Error(); err != nil {
  60. fmt.Println(err)
  61. }
  62.  
  63. fmt.Println("done")
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement