У меня есть большой файл JSON со следующей структурой:
{
"Project": {
"AAA": {
"Version": [
{
"id": "00001",
"name": "08.12.2019",
"description": null,
"released": true,
"releaseDate": "2019-08-12"
},
{
"id": "00002",
"name": "2019.8.26",
"description": null,
"released": true,
"releaseDate": "2019-08-26"
}
]
},
"BBB": {
"Version": [
{
"id": "00003",
"name": "AABBY3",
"description": "2019 Accounting Year End",
"released": false,
"releaseDate": null
},
{
"id": "00004",
"name": "AACCZ4",
"description": "Financial Statements 2019",
"released": false,
"releaseDate": null
},
{
"id": "00005",
"name": "AADDZ5",
"description": null,
"released": false,
"releaseDate": null
}
]
}
}
}
У меня проблема с преобразованием этого в фрейм данных Python из-за вложенного массива.Как я могу извлечь все данные в каждом Version
для каждого Project
, но сохранив ссылку на Project
?
До сих пор мне удалось получить только кадр данных следующей структуры:
df.head(3)
Out[10]:
description id name releaseDate released
0 Version 5.4.1. 10703 V5R4M1 2010-09-15 True
1 Version 5.5.1 10704 V5R5M1 2015-04-20 True
2 Version 6.1.1 10705 V6R1M1 2016-10-14 True
с использованием следующего:
with open("fixVer2.json", "r") as read_file:
data = json.load(read_file)
prj_list = ['AAA', 'BBB', 'CCC', 'DDD']
d_list = []
for x in prj_list:
d = data['Project'][x]['Version']
for el in d:
d_list.append(el)
df = pd.DataFrame(d_list)
, но из-за некоторого дублирования names
в проектах с разными releaseDates
мне нужно сохранить имя Project
, чтобы определитьправильный releaseDate
для каждого name
желаемого результата:
description id name releaseDate released Project
0 Version 5.4.1. 10703 V5R4M1 2010-09-15 True CCC
1 Version 5.5.1 10704 V5R5M1 2015-04-20 True CCC
2 Version 6.1.1 10705 V6R1M1 2016-10-14 True CCC
Я не уверен, как я могу проанализировать вложенный массив, сохранить детализацию имени Project
и объединить всев одну структуру данных / другую структуру Python