我有以下问题:我从网上商店获得的JSON文件的结构如下:
{
"orders":[
{
"total_price":"100.10",
"updated_at":"2022-12-29T12:10:39+01:00"
},
{
"total_price":"50.20",
"updated_at":"2022-12-29T12:05:02+01:00"
},
{
"total_price":"53.20",
"updated_at":"2022-12-29T12:00:39+01:00"
},
{
"total_price":"50.00",
"updated_at":"2022-12-28T11:54:29+01:00"
},
{
"total_price":"30.00",
"updated_at":"2022-12-27T13:35:03+01:00"
}
]
}
我想按日期过滤所有订单,并将数字相加。一天中可能会出现多个订单,这些订单应被添加到一个总数字中。由此应创建一个新的JSON,如下所示。
对于每一天一个字段,如果没有数据,那么total_* day_* sales为零。
{
"day":[
{
"total_day_sales":"0.00",
"day_in_themonth":"1"
},
{
"total_day_sales":"0.00",
"day_in_themonth":"2"
},
{
"total_day_sales":"0.00",
"day_in_themonth":"3"
},
{
"total_day_sales":"30.00",
"day_in_themonth":"27"
},
{
"total_day_sales":"50.00",
"day_in_themonth":"28"
},
{
"total_day_sales":"203.50",
"day_in_themonth":"29"
}
]
}
我已经尝试过创建循环并按"sorted(json * data,key = lambda x:...."*
但是,合并同一天的值是一个问题,我的想法是创建一个range循环,其中循环在字符串2022 - 12-28T11:54:29 + 01:00中搜索"day number"值,但在此过程中丢失了total_price值。
我需要一些提示来提取这些数据,并基于示例创建一个新的JSON。
非常感谢
一些最初的想法:
alist = json.loads(jsondump)
newlist = []
for it in alist['orders']:
newlist.append(it['updated_at'])
newlist.sort()
for n in newlist:
print(n)
1条答案
按热度按时间jk9hmnmh1#
对于每个对象,可以提取日期,并计算Map中的总数,例如: