Ключ Record_path нормализации json не найденPython

Программы на Python
Ответить
Anonymous
 Ключ Record_path нормализации json не найден

Сообщение Anonymous »

Мне интересно, почему я получаю ошибку ключа при использовании Record_path в этом наборе данных. Это API FDA, и я получил первые два результата.

Код: Выделить всё

data = {
"meta": {
"disclaimer": "Do not rely on openFDA to make decisions regarding medical care. While we make every effort to ensure that data is accurate, you should assume all results are unvalidated.  We may limit or otherwise restrict your access to the API in line with our Terms of Service.",
"terms": "https://open.fda.gov/terms/",
"license": "https://open.fda.gov/license/",
"last_updated": "2024-11-15",
"results": {
"skip": 0,
"limit": 2,
"total": 118943
}
},
"results": [
{
"product_ndc": "73647-062",
"generic_name": "MENTHOL, CAMPHOR",
"labeler_name": "Just Brands LLC",
"brand_name": "JUST CBD - CBD AND THC ULTRA RELIEF",
"active_ingredients": [
{
"name": "CAMPHOR (SYNTHETIC)",
"strength": "2 g/100g"
},
{
"name": "MENTHOL",
"strength": "6 g/100g"
}
],
"finished": true,
"packaging": [
{
"package_ndc": "73647-062-04",
"description": "113 g in 1 BOTTLE, PUMP (73647-062-04)",
"marketing_start_date": "20230314",
"sample": false
}
],
"listing_expiration_date": "20251231",
"openfda": {
"manufacturer_name": [
"Just Brands LLC"
],
"spl_set_id": [
"f664eb79-8897-3a49-e053-2995a90a37b4"
],
"is_original_packager": [
true
],
"unii": [
"5TJD82A1ET",
"L7T10EIP3A"
]
},
"marketing_category": "OTC MONOGRAPH DRUG",
"dosage_form": "GEL",
"spl_id": "16c906dd-6989-9a79-e063-6394a90afa71",
"product_type": "HUMAN OTC DRUG",
"route": [
"TOPICAL"
],
"marketing_start_date": "20230314",
"product_id": "73647-062_16c906dd-6989-9a79-e063-6394a90afa71",
"application_number": "M017",
"brand_name_base": "JUST CBD - CBD AND THC ULTRA RELIEF"
},
{
"product_ndc": "0591-4039",
"marketing_end_date": "20250930",
"generic_name": "CLOBETASOL PROPIONATE",
"labeler_name": "Actavis Pharma, Inc.",
"brand_name": "CLOBETASOL PROPIONATE",
"active_ingredients": [
{
"name": "CLOBETASOL PROPIONATE",
"strength": ".05 g/mL"
}
],
"finished": true,
"packaging": [
{
"package_ndc": "0591-4039-46",
"description": "1 BOTTLE in 1 CARTON (0591-4039-46)  / 59 mL in 1 BOTTLE",
"marketing_start_date": "20150828",
"marketing_end_date": "20250930",
"sample": false
},
{
"package_ndc": "0591-4039-74",
"description": "1 BOTTLE in 1 CARTON (0591-4039-74)  / 125 mL in 1 BOTTLE",
"marketing_start_date": "20150828",
"marketing_end_date": "20250930",
"sample": false
}
],
"openfda": {
"manufacturer_name": [
"Actavis Pharma, Inc."
],
"rxcui": [
"861512"
],
"spl_set_id": [
"907e425a-720a-4180-b97c-9e25008a3658"
],
"is_original_packager":  [
true
],
"unii": [
"779619577M"
]
},
"marketing_category": "NDA AUTHORIZED GENERIC",
"dosage_form": "SPRAY",
"spl_id": "33a56b8b-a9a6-4287-bbf4-d68ad0c59e07",
"product_type": "HUMAN PRESCRIPTION DRUG",
"route": [
"TOPICAL"
],
"marketing_start_date": "20150828",
"product_id": "0591-4039_33a56b8b-a9a6-4287-bbf4-d68ad0c59e07",
"application_number": "NDA021835",
"brand_name_base": "CLOBETASOL PROPIONATE",
"pharm_class": [
"Corticosteroid Hormone Receptor Agonists [MoA]",
"Corticosteroid [EPC]"
]
}
]
}
под ключом результатов есть 2 вложенных ключа с именами «active_ingredients» и «packaging».
когда я нормализую, я получаю

Код: Выделить всё

result = pd.json_normalize(data['results'], record_path=["packaging"],meta=['product_ndc'])
ожидаемые столбцы

Код: Выделить всё

package_ndc description marketing_start_date    sample  marketing_end_date  product_ndcs
но когда я добавляю active_ingredients в список Record_path, я получаю ключевую ошибку. То же самое касается и мета. Когда я добавляю в мета-список другие столбцы, такие как «brand_name» и «generic_name», я получаю ключевую ошибку. чтобы увидеть ключи
это не работает

Код: Выделить всё

result = pd.json_normalize(data['results'], record_path=["packaging","active_ingredients"],meta=['product_ndc','brand_name','generic_name'])
Спасибо за любую помощь

Подробнее здесь: https://stackoverflow.com/questions/791 ... -not-found
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»