1
resposta

Não consigo extrair o que eu quero do arquivo json

Bom dia gostaria de saber como faço para transformar esses dados em tabela.

{'ras_ras_id': '392746', 'ras_prd_id': '152', 'ras_ras_id_aparelho': '359633108281697', 'ras_cli_desc': 'G.P. TRANSPORTES', 'ras_cli_id': '182836', 'ras_eve_latitude': '-7.70794', 'ras_eve_longitude': '-35.2405833', 'ras_eve_voltagem_backup': '0', 'ras_eve_porc_bat_backup': '64', 'ras_eve_data_gps': '12/03/2021 12:44:37', 'ras_eve_data_enviado': '12/03/2021 12:44:37', 'ras_ras_data_ult_comunicacao': '12/03/2021 12:44:38', 'ras_ras_sinal_gps': '1', 'ras_eve_nivel_sinal_gprs': '', 'ras_mot_nome': 'PADRAO', 'ras_eve_direcao': '0', 'ras_eve_gps_status': '1', 'ras_eve_hodometro': '12189244', 'ras_eve_horimetro': '0', 'ras_eve_ignicao': '1', 'ras_eve_satelites': '19', 'ras_eve_velocidade': '65', 'ras_eve_voltagem': '13.954', 'ras_vei_placa': 'PGO6921', 'ras_vei_tipo': '3', 'ras_vei_veiculo': 'PGO6921', 'ras_vei_id': '472032', 'ras_vei_tag_identificacao': 'PGO6921', 'total_combustivel': '0', 'sensor_combustivel': [], 'sensor_temperatura': [], 'ras_eve_output': ['0', '0', '0', '0'], 'ras_eve_input': ['0', '0', '0', '0']}
1 resposta

Oii Luchsinger, como você está?

Peço perdão pela demora em obter um retorno.

A biblioteca pandas disponibiliza a função json_normalize para que possamos converter os dados de um json para uma tabela, veja como fica em código:

import pandas as pd

dados_json = {
   "ras_ras_id":"392746",
   "ras_prd_id":"152",
   "ras_ras_id_aparelho":"359633108281697",
   "ras_cli_desc":"G.P. TRANSPORTES",
   "ras_cli_id":"182836",
   "ras_eve_latitude":"-7.70794",
   "ras_eve_longitude":"-35.2405833",
   "ras_eve_voltagem_backup":"0",
   "ras_eve_porc_bat_backup":"64",
   "ras_eve_data_gps":"12/03/2021 12:44:37",
   "ras_eve_data_enviado":"12/03/2021 12:44:37",
   "ras_ras_data_ult_comunicacao":"12/03/2021 12:44:38",
   "ras_ras_sinal_gps":"1",
   "ras_eve_nivel_sinal_gprs":"",
   "ras_mot_nome":"PADRAO",
   "ras_eve_direcao":"0",
   "ras_eve_gps_status":"1",
   "ras_eve_hodometro":"12189244",
   "ras_eve_horimetro":"0",
   "ras_eve_ignicao":"1",
   "ras_eve_satelites":"19",
   "ras_eve_velocidade":"65",
   "ras_eve_voltagem":"13.954",
   "ras_vei_placa":"PGO6921",
   "ras_vei_tipo":"3",
   "ras_vei_veiculo":"PGO6921",
   "ras_vei_id":"472032",
   "ras_vei_tag_identificacao":"PGO6921",
   "total_combustivel":"0",
   "sensor_combustivel":[

   ],
   "sensor_temperatura":[

   ],
   "ras_eve_output":[
      "0",
      "0",
      "0",
      "0"
   ],
   "ras_eve_input":[
      "0",
      "0",
      "0",
      "0"
   ]
}

tabela = pd.json_normalize(data=dados_json)

Resultado:

Imagem que mostra o resultado do código executado no trecho anterior. O resultado é uma tabela de apenas uma linha.

Para acessarmos uma coluna específica, podemos realizar a seguinte sintaxe:

tabela['ras_prd_id']

Qualquer dúvida estou à disposição.

Abraços e bons estudos!