I'm trying to convert a dataframe like this:
df = pd.DataFrame({'A': ['1', '1', '2', '3'],
'B': ['1.1', '1.2', '2.1', '3.1'],
'C': ['1.1.1', '1.2.1', '2.1.2', '3.1.5'],
'Value': [25, 12, 15, 19],
'Period': ['2015', '2018', '2010', '2019']})
Or
A B C Value Period
1 1.1 1.1.1 25 2015
1 1.2 1.2.1 12 2018
2 2.1 2.1.2 15 2010
3 3.1 3.1.5 19 2019
to a nested json output like:
{'A': [{'aCode': '1',
'B': [{'bCode': '1.1',
'C': [{'cCode': '1.1.1',
'figures': [{'Value': 25, 'Period': '2015'}]}]}]},
'B': [{'bCode': '1.2',
'C': [{'cCode': '1.2.1',
'figures': [{'Value': 12, 'Period': '2018'}]}]}]},
{'aCode': '2',
'B': [{'bCode': '2.1',
'C': [{'cCode': '2.1.2',
'figures': [{'Value': 15, 'Period': '2010'}]}]}]},
{'aCode': '3',
'B': [{'bCode': '3.1',
'C': [{'cCode': '3.1.5',
'figures': [{'Value': 19, 'Period': '2019'}]}]}]}]}
There are some vaguely relevant resources online but they are quite involved. I wonder if there's a clean and clever way to achieve this. Thanks in advance!