第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將來自多個(gè)單元格的數(shù)據(jù)合并到一個(gè) JSON 對象中

將來自多個(gè)單元格的數(shù)據(jù)合并到一個(gè) JSON 對象中

Go
函數(shù)式編程 2021-12-20 10:42:18
我正在嘗試將來自 excel 電子表格的多個(gè)單元格的數(shù)據(jù)組合成一個(gè) JSON 編碼的字符串。我不知道該怎么做,下面的代碼正在為每個(gè)單元?jiǎng)?chuàng)建一個(gè)新的 JSON 對象。如何區(qū)分要組合成相同 JSON 字符串的單元格?package mainimport (    "fmt"    "github.com/tealeg/xlsx"    "encoding/json")func main() {    excelFileName := "/Users/isaacmelton/Desktop/Test_Data.xlsx"    xlFile, err := xlsx.OpenFile(excelFileName)    if err != nil {        fmt.Printf("Cannot parse data")    }    for _, sheet := range xlFile.Sheets {        for _, row := range sheet.Rows {            fmt.Printf("\n")            for x, cell := range row.Cells {                if x == 3 || x == 5 {                    data := map[string]string{"d_name": cell.String(), "name": cell.String()}                    json_data, _ := json.Marshal(data)                    fmt.Println(string(json_data))                }            }        }    }}運(yùn)行上面的代碼,結(jié)果如下:{"foo":"cell1","bar":"cell1"}{"foo":"cell2","bar":"cell2"}我期待這樣的事情:{"foo":"cell1", "bar":"cell2"}
查看完整描述

2 回答

?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果我正確理解您的請求,您只需要定義根元素,將單元格添加到其中并編組此元素而不是單個(gè)單元格。


root := []map[string]string{}

for x, cell := range row.Cells {

    if x == 3 || x == 5 {

        root = append(root, map[string]string{"d_name": cell.String(), "name": cell.String()})

    }

}

json_data, _ := json.Marshal(root)

fmt.Println(string(json_data))

http://play.golang.org/p/SHnShHvW_0


查看完整回答
反對 回復(fù) 2021-12-20
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以使用


a, err := row.Cells[3].String()

b, err := row.Cells[5].String()

像這個(gè)工作代碼:


package main


import (

    "encoding/json"

    "fmt"


    "github.com/tealeg/xlsx"

)


func main() {

    xlFile, err := xlsx.OpenFile(`Test_Data.xlsx`)

    if err != nil {

        panic(err)

    }

    for _, sheet := range xlFile.Sheets {

        for _, row := range sheet.Rows {

            //for x, cell := range row.Cells {

            //if x == 3 || x == 5 {

            a, err := row.Cells[3].String()

            if err != nil {

                panic(err)

            }

            b, err := row.Cells[5].String()

            if err != nil {

                panic(err)

            }

            data := map[string]string{"d_name": a, "name": b}

            json_data, err := json.Marshal(data)

            if err != nil {

                panic(err)

            }

            fmt.Println(string(json_data))

            //}

            //}

        }

    }

}

輸出:


{"d_name":"1000","name":"a"}

{"d_name":"2000","name":"b"}

{"d_name":"3000","name":"c"}

{"d_name":"4000","name":"d"}

{"d_name":"5000","name":"e"}

輸入文件內(nèi)容:


1   10  100 1000    10000   a

2   20  200 2000    20000   b

3   30  300 3000    30000   c

4   40  400 4000    40000   d

5   50  500 5000    50000   e


查看完整回答
反對 回復(fù) 2021-12-20
  • 2 回答
  • 0 關(guān)注
  • 284 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)