我在数据框中已经具有以下原始数据
{'timePeriod': {'start': '2019-09-01', 'end': '2019-09-02'},
[{'keys': ['173419835872', 'Software'],
'metrics': {'Cost': {'amount': '1100.23', 'unit': 'USD'}}},
{'keys': ['921747472697', 'Hardware'],
'metrics': {'Cost': {'amount': '2300.11', 'unit': 'USD'}}},
{'keys': ['921747472697', 'Tax'],
'metrics': {'Cost': {'amount': '500.00', 'unit': 'USD'}}}]
}
我想得到一个带有五列标签的数据框:
year month acct type amt
2019 Sep 173419835872 Software 1100.23
2019 Sep 921747472697 Hardware 2300.11
2019 Sep 921747472697 Tax 500.00
我可以使用哪些df函数来解析原始数据并创建新的数据框?
谢谢。
这不是很漂亮,但是我最终写了一个csv文件,然后将csv文件直接读入数据帧。
with open('ce.csv', 'w') as cecsv:
cecsv.write("Year|Account|Service|Cost\n")
for i in range(0,len(df)):
for j in range(0,len(df['groups'][i])):
cecsv.write(df['timePeriod'][i]['start'] + "|" +
df['groups'][i][j]['keys'][0] + "|" +
df['groups'][i][j]['keys'][1] + "|" +
df['groups'][i][j]['metrics']['UnblendedCost']['amount'] + "\n")
cecsv.close()```