以下代碼運行成功,它將我的 json 文件轉(zhuǎn)換為 csv 文件。但我想將我的每一列的標題添加到 csv 文件中。不幸的是,我不知道該怎么做。如果有人有想法,那將非常有幫助。問候package mainimport ( "encoding/json" "encoding/csv" "fmt" "io/ioutil" "os" "net/http" "strconv")type People struct { Name string Craft string}type General struct { People []People Number int Message string}func main() { // Reading data from JSON File response, err := http.Get("http://api.open-notify.org/astros.json") if err != nil { fmt.Printf("The Http request failed with error %s\n", err) } data,_ := ioutil.ReadAll(response.Body) //fmt.Println(string(data)) // Unmarshal JSON data var general General json.Unmarshal([]byte(data), &general) //fmt.Printf("First person: %s, Message: %s", general.People[0].Name, general.Message) // Create a csv file csvdatafile, err := os.Create("./astros.csv") if err != nil { fmt.Println(err) } defer csvdatafile.Close() // Write Unmarshaled json data to CSV file w := csv.NewWriter(csvdatafile) for _, obj := range general.People { fmt.Println("Are you going into the for ?") var record []string record = append(record, strconv.Itoa(general.Number), general.Message) record = append(record, obj.Name, obj.Craft) w.Write(record) fmt.Println("Are you coming here") record = nil } w.Flush() fmt.Println("Appending succed")}
1 回答

HUWWW
TA貢獻1874條經(jīng)驗 獲得超12個贊
好吧,如果你只想要這個例子,你可以在語句之前將列標題寫入文件for,即:
w := csv.NewWriter(csvdatafile)
//new code
var header []string
header = append(header, "Number")
header = append(header, "Message")
header = append(header, "Name")
header = append(header, "Craft")
w.Write(header)
for _, obj := range general.People {
- 1 回答
- 0 關(guān)注
- 290 瀏覽
添加回答
舉報
0/150
提交
取消