0

Hy guys, i'm having a problem to convert this json into a dataframe.

I have requested this json using an API:

import requests
import pandas as pd
import json

acordo_leniencia = requests.get(url_acordo_leniencia,headers=chave)
json = acordo_leniencia.json()

My json has this structure:

[{'id': 800001,
  'dataInicioAcordo': '27/05/2019',
  'dataFimAcordo': '16/10/2019',
  'orgaoResponsavel': 'Prefeitura Municipal de Itaguaí - RJ',
  'situacaoAcordo': 'Em Execução',
  'sancoes': [{'nomeInformadoOrgaoResponsavel': 'AMBIENTAL ENGENHARIA E CONSULTORIA LTDA',
    'razaoSocial': 'AMBIENTAL ENGENHARIA E CONSULTORIA LTDA',
    'nomeFantasia': '',
    'cnpj': '22641641000168',
    'cnpjFormatado': '22.641.641/0001-68'}],
  'quantidade': 1},
 {'id': 1600001,
  'dataInicioAcordo': '15/10/2021',
  'dataFimAcordo': '15/04/2023',
  'orgaoResponsavel': 'Ministério da Transparência e Controladoria-Geral da União',
  'situacaoAcordo': 'Em Execução',
  'sancoes': [{'nomeInformadoOrgaoResponsavel': 'MACAUBAS ENERGETICA SA',
    'razaoSocial': 'MACAUBAS ENERGETICA SA',
    'nomeFantasia': '',
    'cnpj': '09194393000196',
    'cnpjFormatado': '09.194.393/0001-96'},
   {'nomeInformadoOrgaoResponsavel': 'SEABRA ENERGETICA S/A',
    'razaoSocial': 'SEABRA ENERGETICA S/A',
    'nomeFantasia': '',
    'cnpj': '09196341000159',
    'cnpjFormatado': '09.196.341/0001-59'},
   {'nomeInformadoOrgaoResponsavel': 'STATKRAFT ENERGIAS RENOVAVEIS S/A',
    'razaoSocial': 'STATKRAFT ENERGIAS RENOVAVEIS S/A',
    'nomeFantasia': '',
    'cnpj': '00622416000141',
    'cnpjFormatado': '00.622.416/0001-41'},
   {'nomeInformadoOrgaoResponsavel': 'NOVO HORIZONTE ENERGETICA S/A',
    'razaoSocial': 'NOVO HORIZONTE ENERGETICA S/A',
    'nomeFantasia': '',
    'cnpj': '09214349000109',
    'cnpjFormatado': '09.214.349/0001-09'}],
  'quantidade': 4},

I tried to convert into a dataframe:

parsed = acordo_leniencia.json()
df = pd.DataFrame.from_dict(parsed)

but it didn't work as I was expecting

id  dataInicioAcordo    dataFimAcordo   orgaoResponsavel    situacaoAcordo  sancoes quantidade
0   800001  27/05/2019  16/10/2019  Prefeitura Municipal de Itaguaí - RJ    Em Execução [{'nomeInformadoOrgaoResponsavel': 'AMBIENTAL ...   1
1   1600001 15/10/2021  15/04/2023  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'MACAUBAS E...   4
2   1600001 15/10/2021  15/04/2023  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'MACAUBAS E...   4
3   1600001 15/10/2021  15/04/2023  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'MACAUBAS E...   4
4   1600001 15/10/2021  15/04/2023  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'MACAUBAS E...   4
5   1100001 18/07/2020  18/07/2021  PREFEITURA MUNICIPAL DE CASIMIRO DE ABREU - RJ  Em Execução [{'nomeInformadoOrgaoResponsavel': 'ANDRI SOLU...   1
6   1500001 28/01/2022  28/01/2025  Controladoria-Geral do Estado de Santa Catarin...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'NEOWAY TEC...   1
7   1300002 07/06/2021  30/06/2041  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'SICPA BRAS...   3
8   1300002 07/06/2021  30/06/2041  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'SICPA BRAS...   3
9   1300002 07/06/2021  30/06/2041  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'SICPA BRAS...   3
10  1000004 31/07/2019  31/01/2038  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'CONSTRUCOE...   3
11  1000004 31/07/2019  31/01/2038  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'CONSTRUCOE...   3
12  1000004 31/07/2019  31/01/2038  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'CONSTRUCOE...   3
13  1000007 10/07/2017  10/07/2038  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'U T C ENGE...   3
14  1000007 10/07/2017  10/07/2038  Ministério da Transparência e Controladoria-Ge...   Em Execução [{'nomeInformadoOrgaoResponsavel': 'U T C ENGE...   3

As you can see, the column "sancoes" have informations that are still between the "[]". How can I get them off there as a dataframe???

Regards, Victor

2
  • 1
    Does this answer your question? Extract data from array - Python The linked question is same to yours, only the data attribute are different. Commented Aug 25, 2022 at 3:27
  • Bingo! That´s excalty what I need!! Thank you for your help! Commented Aug 25, 2022 at 14:24

1 Answer 1

0

The pandas dataframe construction is correct, because sancoes entries as lists themselves.

Unless you specify more clearly your desired output, it is difficult to help you.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.