objectif
Aplatir des dictionnaires/listes JSON imbriqués en colonnes.
code minimal
import pandas as pd
data = [{"id":1,"user":{"name":"a"},"tags":[{"k":"x","v":1},{"k":"y","v":2}]}]
df = pd.json_normalize(data, record_path="tags", meta=["id",["user","name"]])
print(df.to_dict(orient="records"))
utilisation
import pandas as pd
data = {"a":{"b":{"c":1}}}
print(pd.json_normalize(data).columns.tolist())
variante(s) utile(s)
import pandas as pd
data = [{"id":1,"attrs":{"h":10}}, {"id":2,"attrs":{"h":20}}]
print(pd.json_normalize(data, max_level=1).shape)
notes
record_pathpour lister des sous-objets;metapour joindre.