J'ai un bloc de lignes de résultats et j'essaie de les regrouper en deux niveaux d'imbrication [{key: value[{key:value[]}]}]
. Les valeurs sont non uniques au niveau des clés de niveau supérieur.
J'ai essayé d'utiliser defaultdict
mais je n'ai pas réussi à regrouper les deux niveaux en raison de la non-unicité. L'itération sur les données pourrait être plus efficace, mais je n'ai pas non plus réussi à le faire.
Données de départ :
data =
[{'Name': 'Bob', 'Time': 12, 'Place': 'Home'},
{'Name': 'Bob', 'Time': 11, 'Place': 'Home'},
{'Name': 'Jerry', 'Time': 5, 'Place': 'Home'},
{'Name': 'Jerry', 'Time': 11, 'Place': '-----'},
{'Name': 'Jerry', 'Time': 11, 'Place': 'Work'}]
Données finales souhaitées :
[{"Name": "Bob", "Details":[{"Place":"Home", "Time":[12, 11]}]},
{"Name": "Jerry", "Details":[{"Place":"Home", "Time":[5]},
{"Place":"-----", "Time":[11]},
{"Place":"Work", "Time":[11]}]}]