Comment convertir JSON en CSV en Python
Crédit d'image : avoine/iStock/GettyImages
Vous pouvez convertir JSON en CSV dans le langage de programmation Python en utilisant les bibliothèques intégrées fournies avec le langage. Vous pouvez parcourir l'objet JSON et afficher ses clés et valeurs sous forme de lignes dans un fichier de valeurs séparées par des virgules. Gardez à l'esprit que tous les fichiers JSON ne peuvent pas être facilement représentés sous forme de fichiers CSV uniques. Par conséquent, selon le format, vous devrez peut-être utiliser plusieurs fichiers CSV pour représenter toutes les données de manière utile.
Comprendre JSON et CSV
Les fichiers JSON et CSV sont deux manières courantes de représenter des données numériques. JSON signifie Notation d'objet JavaScript, et c'est un moyen de représenter les données sous forme de mappages imbriqués de clés vers des valeurs ainsi que des listes de données. Il s'inspire de la façon dont les données sont représentées dans le langage de programmation JavaScript, mais de nombreux langages de programmation modernes, dont Python, disposent d'outils pour traiter les données JSON.
Vidéo du jour
UNE valeur séparée par des virgules file est une autre façon de représenter des données structurées. Ces fichiers sont souvent utilisés avec des feuilles de calcul et des types de programmes similaires, donc si vous voulez importer JSON dans Excel il peut être utile de le convertir d'abord en fichier CSV. Généralement, les fichiers CSV incluent des en-têtes de colonne en haut du fichier indiquant ce qui est stocké dans chaque colonne. Ensuite, chaque ligne du fichier se compose de plusieurs valeurs, une pour chaque colonne, séparées par des virgules. Il existe des règles spéciales pour le traitement des données contenant des virgules.
Tout comme pour les fichiers JSON, il existe de nombreux outils dans de nombreux langages de programmation, dont Python, pour générer et lire des fichiers CSV.
Convertir JSON en CSV
Vous pouvez convertir JSON en CSV à l'aide des bibliothèques JSON et CSV intégrées en Python. Importez-les dans votre code en ajoutant des lignes indiquant « import json » et « import csv » près du haut de votre code.
Ensuite, utilisez le "charger" méthode pour importer les données d'un fichier JSON. Il sera chargé en tant que dictionnaire Python. Utilisez le dictionnaire "clés" pour déterminer les champs de données du fichier JSON qui deviendront les colonnes de votre fichier CSV.
Utilisez la bibliothèque CSV "DictWriter" classe pour créer un fichier CSV avec ces colonnes, en les spécifiant à l'aide du " DictWriter "noms de champs" argument. Utilisez son "en-têtes d'écriture" pour afficher les noms de colonnes en haut du fichier CSV.
Ensuite, parcourez l'objet JSON avec un pour la boucle. Appeler la méthode "writerow" de l'objet CSV sur chaque élément de données dans le fichier JSON pour créer une ligne correspondante dans le fichier CSV.
Fichiers JSON complexes
Certains fichiers JSON complexes peuvent être plus difficiles à représenter en tant que fichiers CSV. Cela peut inclure des fichiers qui ne s'alignent pas immédiatement sur une structure de lignes et de colonnes standard. Si vous utilisez un tel fichier et que vous souhaitez le convertir au format CSV, vous disposez de plusieurs options.
Tout d'abord, vous pouvez rechercher l'ensemble total des champs de données qui apparaissent dans le fichier JSON et en faire les colonnes de votre CSV. Laissez une colonne vide dans une ligne particulière si elle n'y apparaît pas. Utilisez l'option "extrasaction='ignorer'" en configurant Python CSV DictWriter pour le faire automatiquement pour les champs qui n'apparaissent pas dans une donnée particulière.
Vous pouvez également envisager de représenter le fichier JSON sous la forme de plusieurs CSV, un pour chaque type de données qui y est représenté. Utiliser Python si instructions pour détecter dans quel fichier CSV une donnée particulière doit être écrite.
Cette technique peut également être utile pour les fichiers JSON imbriqués, dans lesquels les objets JSON contiennent d'autres objets. Ces sous-objets peuvent être placés dans leur propre fichier CSV avec une indication de la ligne du fichier CSV principal à laquelle ils correspondent.