python - Python中通过对值进行分组的二维数组到字典/ JSON
问题描述
我有这个二维数据数组
[
['JOHN','blue',4,'FINISHED',572L],
['JOHN','blue','9','NOT STARTED',1357L],
['JOHN','orange','267','FINISHED',2973],
['JOHN','orange',0,'NOT STARTED',444L],
['ERIC','green','294','FINISHED',14867L],
['ERIC','green','14','NOT STARTED',517L],
['ERIC','green','0.00001','RUNNING',16L]
]
此处的值存储在 DictCursor 中,因此行的每个索引都与一个名称相关联,因此
row[0]['name'] = 'JOHN'
row[0]['color'] = 'blue'
row[0]['size'] = '4'
row[0]['status'] = 'FINISHED'
row[0]['count'] = '572L'
我想通过将第一个和第二个值组合在一起并将第三列的值加在一起,将二维数组转换为字典,如下所示:
{
'JOHN':{
'blue':{
'13':{
'FINISHED': ['572L'],
'NOT STARTED': ['1357L']
}
},
'orange': {
'267': {
'FINISHED': ['2873L'],
'NOT STARTED': ['444L']
}
}
}
'ERIC': {
'green' : {
'308.00001':{
'FINISHED': ['14867L'],
'NOT STARTED': ['517L'],
'RUNNING': ['16L']
}
}
}
}
我已经试过了
new_final = {}
for result in total:
name = result['name']
name_group['name'].append(result)
for name in name_group:
for result in name_group[name]:
color = result['color']
final['name']['color'].append(result)
for name in final:
new_final['name'] = {}
for color in final['name']:
new_final['name']['color'] = {}
for row in final['name']['color']:
new_final['name']['color'][row['status']] = [str(row['count'])]
return new_final
但是这并没有给我添加到另一个组中的数字
任何帮助,将不胜感激!!!!
解决方案
推荐阅读
- java - java swing 存储图像异常 java.lang.AbstractMethodError
- azure-machine-learning-service - Webservice.deploy_from_image 失败并显示“AttributeError:'str' object has no attribute 'creation_state'”
- docker - Docker 容器中的 Julia v1.0.2 Pkg.activate(".") 问题
- ms-access - Microsoft Access 2018 - 使用表单添加新数据条目
- r - r 正则表达式用于复杂的变量拆分问题
- python - 完全停止线程龙卷风 WebSocket 服务器
- asp.net-mvc - 为什么在将我的项目模型链接到 IPagedList 时出现错误?
- java - 试图连接四个
- windows - 将多个 GeoTIFF 文件添加到 GeoPackage TABLE
- python - 将pandas df中的行附加到新的csv,同时保留标题一次?