将混合字典转换为数据框

问题描述 投票:0回答:1

从 JSON 中的 url 中提取数据后,我得到了这样的东西:

abc = {"data":[{ "nome": "Paulo", "idade": 27, "sexo":"M", "RG":"77732-5", "e-mail":"[email protected]", "status":"ativo"},
               { "nome": "Ford", "idade": 45, "sexo":"M" ,"RG":"73332-5", "e-mail":"[email protected]", "status":"ativo"},
               { "nome": "Andre", "idade": 52, "sexo":"M" ,"RG":"66732-5", "e-mail":"[email protected]", "status":"afastado"},
               { "nome": "Kilian", "idade": 38, "sexo":"F", "RG":"55532-5", "e-mail":"[email protected]", "status":"ativo"}]}
           

我需要转换成这样的数据框:

data
nome    idade   sexo    RG  e-mail          status
Paulo   27  M   77732-5 [email protected]  ativo   
Ford    45  M   73332-5 [email protected]   ativo
Andre   52  M   66732-5 [email protected]  afastado
kilian  38  F   55532-5 [email protected] ativo

我试过了

df = pd.DataFrame from dict(abc) 

我得到了:

                                            data
0  {'nome': 'Paulo', 'idade': 27, 'sexo': 'M', 'R...
1  {'nome': 'Ford', 'idade': 45, 'sexo': 'M', 'RG...
2  {'nome': 'Andre', 'idade': 52, 'sexo': 'M', 'R...
3  {'nome': 'Kilian', 'idade': 38, 'sexo': 'F', '...

我做错了什么?

python pandas
1个回答
0
投票

您可以使用

DataFrame
功能:

import pandas as pd

abc = {"data":[{ "nome": "Paulo", "idade": 27, "sexo":"M", "RG":"77732-5", "e-mail":"[email protected]", "status":"ativo"},
               { "nome": "Ford", "idade": 45, "sexo":"M" ,"RG":"73332-5", "e-mail":"[email protected]", "status":"ativo"},
               { "nome": "Andre", "idade": 52, "sexo":"M" ,"RG":"66732-5", "e-mail":"[email protected]", "status":"afastado"},
               { "nome": "Kilian", "idade": 38, "sexo":"F", "RG":"55532-5", "e-mail":"[email protected]", "status":"ativo"}]}

df = pd.DataFrame(abc["data"])
print(df)
© www.soinside.com 2019 - 2024. All rights reserved.