计数具有错误层次结构的JSON文件中的唯一ID



我被赋予了从JSON文件解析数据的任务。

  1. 一天内的唯一用户数
  2. 唯一请求数(unique=同一项目的多个请求计数为一个(
  3. item_id请求之间的平均时间(在上面的样本数据中,请求之间的时间平均为1分钟,根据item_id 494398计算,因为item_id 3147684只被请求了一次,所以平均值只能根据计算(
  4. item_id请求之间的中间时间(-||-(
  5. 返回变体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

最新更新