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)
添加回答
举报