我被赋予了从JSON文件解析数据的任务。
- 一天内的唯一用户数
- 唯一请求数(unique=同一项目的多个请求计数为一个(
- item_id请求之间的平均时间(在上面的样本数据中,请求之间的时间平均为1分钟,根据item_id 494398计算,因为item_id 3147684只被请求了一次,所以平均值只能根据计算(
- item_id请求之间的中间时间(-||-(
- 返回变体similarInJsonList的单个item_id的最大请求数
JSON文件中的层次结构是错误的,没有对给定用户的确切命名,只有用户id包含其余信息。我无法思考如何做到这一点,我不知道如何访问Python脚本中的信息,因为每个用户id都是唯一的。
JSON文件如下所示:
{
"271736829405315319062165375185738528887": { # user_id
"494398": [ # item_id
[
[
"2021-12-02T00:00:00.546000+00:00", # datetime of request
"NotReadyYet" # variant returned
],
[
"2021-12-02T00:01:00.546000+00:00", # datetime of next visit
"similarInJsonList" # variant returned
]
],
[]
],
"variant": [ # not important
"NotCount",
""
]
},
"327369077869547705509707240484932336059": { # user_id
"3147684": [ # item_id
[
[
"2021-12-02T00:00:00.437000+00:00", # datetime of request
"similarInJsonList" # variant returned
]
],
[]
],
"variant": [ # not important
"similarInJsonList",
""
]
}
}
如果您从键创建一个集合,那么只需要获得集合的大小。这将告诉您在数据结构中存在多少唯一的user_id。
J = [{
"271736829405315319062165375185738528887": { # user_id
"494398": [ # item_id
[
[
"2021-12-02T00:00:00.546000+00:00", # datetime of request
"NotReadyYet" # variant returned
],
[
"2021-12-02T00:01:00.546000+00:00", # datetime of next visit
"similarInJsonList" # variant returned
]
],
[]
],
"variant": [ # not important
"NotCount",
""
]
},
"327369077869547705509707240484932336059": { # user_id
"3147684": [ # item_id
[
[
"2021-12-02T00:00:00.437000+00:00", # datetime of request
"similarInJsonList" # variant returned
]
],
[]
],
"variant": [ # not important
"similarInJsonList",
""
]
}
}]
print(len(set(J[0].keys())))
输出:
2