Tenho um json aninhado, mas não consigo entender como trabalhar com eles.
"return": {
"status_processing": "3",
"status": "OK",
"order": {
"id": "872102042",
"number": "123831",
"date_order": "dd/mm/yyyy",
"itens": [
{
"item": {
"id_product": "684451795",
"code": "VPOR",
"description": "Product 1",
"unit": "Un",
"quantity": "1.00",
"value": "31.76"
}
},
{
"item": {
"id_product": "684451091",
"code": "VSAP",
"description": "Product 2",
"unit": "Un",
"quantity": "1.00",
"value": "31.76"
}
}
]
}
}
}
Pesquisei em perguntas do stackoverflow e tentei algumas resoluções que as pessoas aprovaram, mas não funcionaram para mim.
Aqui está um exemplo que usei para acessar os dados do json:
df = pd.json_normalize(order_list, record_path= ["return", "order", "itens"],
meta=[["return", "order", "id"], ["return", "order", "date_order"],["return", "order", "number"]])
mas não funciona, eles duplicam os dados quando envio para o dataframe.
Alguém pode me ajudar?
EDITAR
Aqui está um exemplo que usei: Converter JSON aninhado em DataFrame do Pandas
Não sei exatamente o que você espera da saída, mas se quiser cada item em uma nova linha, você pode usar código normal com
for
-loop para isso.Resultado:
Se você precisar de outras informações em linhas, deverá mostrá-las na pergunta.
Seu código está bom. Você está obtendo os dados, talvez você só quisesse especificar quais colunas manter (ou talvez renomear)?
Saída: