Я пытаюсь проанализировать файл json, который содержит несколько вложенных столбцов, в фрейм данных.Исходный файл JSON доступен здесь: https://nvd.nist.gov/vuln/data-feeds#JSON_FEED
Я использую блокнот Jupyter с python и могу сгладить первый уровень вложенности, но не могу сгладить другие вложенные столбцы.
Вот мой код:
import pandas as pd
from pandas.io.json import json_normalize
df_cve2019 = pd.read_json('https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2019.json.zip', compression='zip')
df_cve2019.head(2)
Вывод
Затем я нормализую столбцы CVE_Items через
df_CVE_Items_2019 = json_normalize(df_cve2019['CVE_Items'])
df_CVE_Items_2019.head(2)
и яполучить следующий вывод: Нормализация вывода
Теперь я хотел бы сгладить столбцы, такие как «configurations.nodes» и «cve.references.reference_data», и создать отдельный фрейм данных для каждого из них.с cve.CVE_data_meta.ID в качестве индекса ключа.Например, для конфигураций я хочу, чтобы df выглядел примерно так:
cve.CVE_data_meta.ID configurations.nodes.cpe_match.cpe23.uri ....
CVE-2019-00001 "cpe: 1..." ....
CVE-2019-00001 "cpe: 2..." ....
...
CVE-2019-00002 "cpe: 1..." ....
... ... ....
Может кто-нибудь помочь?