2 回答

TA貢獻1757條經驗 獲得超7個贊
90% 的情況是這樣,但是正在創建的嵌套表插入的字段和值數組填充了相同的記錄信息,而不是創建與每個父 place_nm 插入關聯的唯一nestedTableInsert 記錄信息。仍然需要弄清楚這個最內層的迭代。
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

TA貢獻1982條經驗 獲得超2個贊
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)
添加回答
舉報