Convertisseur JSON en CSV imbriqué.
Ce script python convertit un JSON valide et préformaté en CSV qui peut être ouvert dans Excel et d'autres applications similaires. Ce script peut gérer des json imbriqués avec plusieurs objets et tableaux. Veuillez consulter l'explication ci-dessous et les exemples de fichiers pour comprendre comment cela fonctionne. Il peut également gérer des objets non similaires. Mais plus les objets sont similaires, plus le rendu est joli.
Écrit en Python 2.7. Testé pour la dernière fois en Python 3.6.3.
python /path/to/json_to_csv.py node json_in_file_path csv_out_file_path
Le script s'attend à ce que le json soit donné via un fichier contenant
Array
d' 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
d'argument peut être n'importe quelle chaîne pertinente [
{
"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" ]
}
}
]
J'ai écrit un générateur JSON qui s'occupera des problèmes d'encodage et générera un JSON valide pour cet outil. Cependant, si vous vous trouvez dans l'enfer du codage de caractères, envoyez-moi un mail et j'ajouterai un support pour cela. Ceci est maintenant corrigé.
Visitez la publication Conversion de json imbriqué en csv sur mon blog pour en savoir plus sur ce script.