Python, анализируйте вложенный JSON, чтобы сделать его плоским для CSVPython

Программы на Python
Ответить
Anonymous
 Python, анализируйте вложенный JSON, чтобы сделать его плоским для CSV

Сообщение Anonymous »

Я пытаюсь сохранить выходные данные API в CSV/db и не могу понять, как создать этот ключ в «tierList». Одна строка в моем случае должна находиться в bin, и мне нужен ключ в качестве столбца в моем выводе.
Можно ли это сделать с помощью pd.JSON_Normalize ? Пожалуйста, направьте меня к нужной библиотеке/инструменту.
Спасибо всем.
Пожалуйста, обратитесь к компактному тестовому сценарию Python ниже. Я не понимаю, почему я могу использовать только Record_path='memberList. Все остальное выдает ошибку. Согласно теории, я должен иметь возможность использовать Record_path=memberRiskData и добавлять остальные столбцы с мета.

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

import json
import os
import pandas as pd

json_file = '''
{  "content":"BIN REST",   "riskMonth":"20250401",   "pagination":{      "currentPage":1,      "totalPages":26   },
"memberList":[
{  "bin":"22222","firstName":"MARIA", "lastName":"PLACARD",
"memberRiskData":{
"strata":"East",  "postParameter":"",
"tierList":[
{ "riskTier":"AdverseSubdomainTier",
"tierValue":"High"               },
{  "riskTier":"SocialDomainTier",
"tierValue":"Med"               }            ]         }      }   ]} '''

data = json.loads(json_file)
print('.......type =',type(data))
print(data.items())
print(data['memberList'][0])
df = pd.json_normalize(data, record_path='memberList') # , meta=['strata','content']) TBD....

print (df)
df.to_csv('c:/out.csv', index=False)
Мой текущий результат приведен ниже. Каким-то образом мне нужно разбить столбецmemberRiskData.tierList на несколько частей для каждого ключа.
Изображение

И это мой желаемый результат:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/798 ... at-for-csv
Ответить

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

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

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

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

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