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

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

使用 Python 創(chuàng)建復(fù)雜的 JSON 并創(chuàng)建一些有條件的嵌套數(shù)組

使用 Python 創(chuàng)建復(fù)雜的 JSON 并創(chuàng)建一些有條件的嵌套數(shù)組

手掌心 2022-01-18 17:44:24
在使用 Python 動(dòng)態(tài)創(chuàng)建較大 JSON 字符串的一部分時(shí),我想僅在更高級(jí)別的值(在我的情況下為表名)為一個(gè)特定的值。到目前為止的結(jié)構(gòu)是一個(gè) TNFL,我想有條件地將另一個(gè)對(duì)象與“字段”和“值”一起添加到結(jié)構(gòu)中。到目前為止我所擁有的:constJSON = []i = 0for k, v in datDictNorm.iteritems():    constJSON.append({"table":k, "inserts":[]})    if v:        for d in v:            flds = list(d.keys())            constJSON[i]["inserts"].append({                              "fields": flds,                              "values": [d[f] for f in flds]            })        i += 1當(dāng)表'k'等于'table_x'時(shí),我需要最里面的.append / for循環(huán)來(lái)添加另一個(gè)對(duì)象/值,除了名為'nestedTableInsert'的“字段”和“值”對(duì)象之外,它有自己的.append函數(shù)在我的最終 JSON 中僅為特定表創(chuàng)建另一個(gè)層,使其看起來(lái)像這樣,但語(yǔ)法正確:我想要做的工作:constJSON = []i = 0for k, v in datDictNorm.iteritems():    constJSON.append({"table": k, "inserts": []})    if v:        for d in v:                flds = list(d.keys())        if k != "name":            constJSON[i]["inserts"].append({                    "fields": flds,                    "values":  [d[f] for f in flds]})        else:            for k2, v2 in prvDictNorm.iteritems():                constJSON[i]["inserts"].append({                    "fields": flds,                    "values":  [d[f] for f in flds],                    "nestedTableInsert": []})        i += 1添加“nestedTableInsert”:對(duì)象的結(jié)構(gòu)與其父插入對(duì)象相同,因此最終的 JSON 看起來(lái)像
查看完整描述

2 回答

?
長(zhǎng)風(fēng)秋雁

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

90% 的情況是這樣,但是正在創(chuàng)建的嵌套表插入的字段和值數(shù)組填充了相同的記錄信息,而不是創(chuàng)建與每個(gè)父 place_nm 插入關(guān)聯(lián)的唯一nestedTableInsert 記錄信息。仍然需要弄清楚這個(gè)最內(nèi)層的迭代。


tableInsert = []

i = 0

for k, v in mainDictNorm.iteritems():

    tableInsert.append({"table": k, "inserts": []})

    if v:

        for d in v:

            flds = list(d.keys())

            if k != "place_nm":

                tableInsert[i]["inserts"].append({

                    "fields": flds,

                    "values":  [d[f] for f in flds]})

            else:

                i = 0

                nestedTableInsert = []

                for k2, v2 in nestDictNorm.iteritems():

                    nestedTableInsert.append({"table": k2, "inserts": []})

                    if v2:

                        for d2 in v2:

                            flds2 = list(d2.keys())

                    tableInsert[i],nestedTableInsert[i]["inserts"].append({

                        "fields": flds2,

                        "values":  [d2[f2] for f2 in flds2]})

                    i += 1

                tableInsert[i]["inserts"].append({

                    "fields": flds,

                    "values":  [d[f] for f in flds],

                    "nestedTableInsert": nestedTableInsert})

        i += 1


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
臨摹微笑

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

constJSON = []

i = 0

for k, v in datDictNorm.iteritems():

    constJSON.append({"table": k, "inserts": []})

    if v:

        for d in v:

            flds = list(d.keys())

            constJSON[i]["inserts"].append({

                "fields": flds,

                "values": [d[f] for f in flds]

            })

            if k == "table_x":

                constJSON[i]["nestedTableInsert"].append({

                    "fields": flds2,

                    "values": [d2[f2] for f2 in flds2 if k in thing]

                })

        i += 1


myJSON = json.dumps(constJSON)


查看完整回答
反對(duì) 回復(fù) 2022-01-18
  • 2 回答
  • 0 關(guān)注
  • 282 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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