【发布时间】:2018-04-07 16:39:45
【问题描述】:
我有 json 格式的不同应用程序的年度应用程序数据。每个应用程序有 10 个不同的 json 文件。我尝试将它们合并到一个 csv 中。先给大家看一下数据结构:
[{"date": "2017-10-23", "downloads": 15358985, "end": "2017-10-23", "data": {"2.7.3.4196-beta": 7, "1.0.1": 268, "1.0.2": 715, "2.9.0.4250-beta": 1, "2.7.3.4215-beta": 2, "2.7.2.4151-beta": 1, "2.2.3.1-signed": 9292}}, {"date": "2017-10-22", "downloads": 12778233, "end": "2017-10-22", "data": {"2.7.3.4196-beta": 5, "2.4.1": 842, "2.99.0.1872beta": 12, "2.99.0.1857beta": 4, "2.3.1.1-signed": 3, "2.6.10": 11538, "2.6.4.1-signed": 8, "2.7.3.4198-beta": 4}}]
当我将它们解析为 pandas 数据框时,我会得到如下信息:
date downloads end data
2017-10-23 15358985 2017-10-23 {"2.7.3.4196-beta": 7, "1.0.1": 268, "1.0.2": 715, "2.9.0.4250-beta": 1, "2.7.3.4215-beta": 2, "2.7.2.4151-beta": 1, "2.2.3.1-signed": 9292}}
2017-10-22 12778233 2017-10-22 {"2.7.3.4196-beta": 5, "2.4.1": 842, "2.99.0.1872beta": 12, "2.99.0.1857beta": 4, "2.3.1.1-signed": 3, "2.6.10": 11538, "2.6.4.1-signed": 8, "2.7.3.4198-beta": 4}}
请注意,并非每天都会下载所有版本。如何为不同版本的应用程序创建列?如果应用程序在特定日期未下载,我们可以将其留空或填写 NaN
【问题讨论】:
-
你试过
pd.io.json.json_normalize(your_dict)吗?我认为这是一个骗局。 -
可以分享一下链接吗?
-
在你的情况下,只需函数调用就足够了,仅此而已。
-
我重新打开了问题,因为 OP 需要为缺失的天数添加 NaNs 行。