Conversor JSON aninhado para CSV.
Este script python converte JSON válido e pré-formatado em CSV, que pode ser aberto no Excel e em outros aplicativos semelhantes. Este script pode lidar com JSON aninhado com vários objetos e matrizes. Consulte a explicação abaixo e os arquivos de exemplo para entender como isso funciona. Ele também pode lidar com objetos não semelhantes. Mas, quanto mais a semelhança dos objetos, mais bonita é a saída.
Escrito em Python 2.7. Testado pela última vez em Python 3.6.3.
python /path/to/json_to_csv.py node json_in_file_path csv_out_file_path
O script espera que o json seja fornecido por meio de um arquivo contendo
Array
de Object
node
Ex: - {
"node" :[
{
"item_1" : "value_11" ,
"item_2" : "value_12" ,
"item_3" : "value_13" ,
"item_4" :[ "sub_value_14" , "sub_value_15" ],
"item_5" :{
"sub_item_1" : "sub_item_value_11" ,
"sub_item_2" :[ "sub_item_value_12" , "sub_item_value_13" ]
}
},
{
"item_1" : "value_21" ,
"item_2" : "value_22" ,
"item_4" :[ "sub_value_24" , "sub_value_25" ],
"item_5" :{
"sub_item_1" : "sub_item_value_21" ,
"sub_item_2" :[ "sub_item_value_22" , "sub_item_value_23" ]
}
}
]
}
list
de dictionaries
node
de argumento pode ser qualquer string relevante [
{
"item_1" : "value_11" ,
"item_2" : "value_12" ,
"item_3" : "value_13" ,
"item_4" :[ "sub_value_14" , "sub_value_15" ],
"item_5" :{
"sub_item_1" : "sub_item_value_11" ,
"sub_item_2" :[ "sub_item_value_12" , "sub_item_value_13" ]
}
},
{
"item_1" : "value_21" ,
"item_2" : "value_22" ,
"item_4" :[ "sub_value_24" , "sub_value_25" ],
"item_5" :{
"sub_item_1" : "sub_item_value_21" ,
"sub_item_2" :[ "sub_item_value_22" , "sub_item_value_23" ]
}
}
]
Eu escrevi um gerador JSON que cuidará dos problemas de codificação e gerará um JSON válido para esta ferramenta. No entanto, se você se encontrar no inferno da codificação de caracteres, envie-me um e-mail e adicionarei suporte para isso Isso agora está corrigido.
Visite a postagem convertendo json aninhado em csv em meu blog para ler mais sobre esse script.