python - 在Python中将非固定键json转换为csv文件
问题描述
我是 Python 新手,有一个 JSON 文件,我需要将其转换为 csv 文件。
JSON文件:
{
"id1":{
"subid1":{"A":1,"B":2,"C":3},
"subid2":{"A":5,"D":5,"F":7},
"subid3":{"L":5,"Z":5,"P":7}
},
"id2":{
"subid1":{"G":1,"O":9,"C":3},
"subid2":{"A":5,"V":15,"F":0},
"subid3":{"L":5,"H":2,"N":7}
}
}
初始键 - id1、id2 等对于每个 Json 对象都是唯一的,并且subid1, subid2 and subid3
在所有 Json 对象中保持相同。然而,可以看出内部 json 对象发生了变化。不限于从A到Z,可以是AA、XXSC等。
所需的 CSV 格式:
primaryId, subId, letterID, number
id1, subid1, A, 1
id1, subid1, B, 2
id1, subid1, C, 3
id1, subid2, A, 5
.
.
id2, subid1, O, 9
id2, subid1, C, 3
.
.
id2, subid3, N, 7
你能帮我吗?
解决方案
您可以使用一些嵌套循环遍历每个 dict。
def tocsv(json):
for col1, data in json.items():
for col2, data2 in data.items():
for col3, col4 in data2.items():
print(",".join([col1, col2, col3, str(col4)]))
推荐阅读
- msbuild - MSBuild 是否支持 .Net Core 项目
- jquery - 将评论添加到它所属的评论列表中
- android - Zbar 没有释放相机(kitkat 上的问题)android
- javascript - 将值分配给单个数组项并调用它们
- python - 根据最内层维度的某个特定索引处的值将张量掩码为 0
- visual-studio-2015 - 无法保存 TFS 构建
- python - pem 文件 base64 内容最后如何填充?
- python - 模型用户实例化错误
- python - 返回查询集对象时出现错误:无法解析表达式类型,未知的输出字段
- sql - Oracle查询聚合函数