JSON en CSV en Python

Manav Narula 30 janvier 2023
  1. Utilisez la méthode Pandas DataFrames to_csv() pour convertir des données JSON en CSV en Python
  2. Utilisez le module csv pour convertir JSON en fichier CSV
JSON en CSV en Python

JSON est l’abréviation de JavaScript Object Notation. Il est basé sur le format des objets en JavaScript et est une technique de codage pour représenter des données structurées. Il est largement utilisé de nos jours, notamment pour le partage de données entre serveurs et applications web.

Un fichier CSV est utilisé pour stocker des données dans un format tabulaire comme les feuilles de calcul Excel.

Dans ce tutoriel, nous apprendrons à convertir les données JSON en fichier CSV.

Utilisez la méthode Pandas DataFrames to_csv() pour convertir des données JSON en CSV en Python

Dans cette méthode, nous allons d’abord convertir le JSON en un Pandas DataFrame et de là le convertir en un fichier CSV en utilisant la méthode to_csv(). Nous pouvons lire la chaîne JSON en utilisant la fonction json.loads() qui est fournie dans la bibliothèque json en Python pour convertir le JSON en DataFrame. Ensuite, nous passons cet objet JSON à la fonction json_normalize() qui retournera un DataFrame Pandas contenant les données requises.

Les extraits de code suivants expliquent comment nous procédons.

import pandas as pd
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)

df = pd.json_normalize(info["Results"])

df.to_csv("samplecsv.csv")

Le contenu du fichier CSV créé se trouve ci-dessous.

,id,Name
0,1,Jay
1,2,Mark
2,3,Jack

Utilisez le module csv pour convertir JSON en fichier CSV

Dans cette méthode, nous utiliserons la bibliothèque csv en Python qui est utilisée pour lire et écrire des fichiers CSV. Tout d’abord, nous lirons les données JSON comme nous l’avons fait dans la méthode précédente. Nous ouvrons un fichier en mode écriture et utilisons le DictWriter() du module csv pour créer un objet qui nous permet de mapper et d’écrire des données JSON dans le fichier. Les fieldnames sont des clés qui sont identifiées et mises en correspondance avec les données lorsque nous écrivons des lignes en utilisant la fonction writerows().

L’extrait de code suivant montre comment nous pouvons implémenter la méthode ci-dessus :

import csv
import json

data = """
{
"Results":
         [
         { "id": "1", "Name": "Jay" },
         { "id": "2", "Name": "Mark" },
         { "id": "3", "Name": "Jack" }
         ],
"status": ["ok"]
}
"""

info = json.loads(data)["Results"]

print(info[0].keys())

with open("samplecsv.csv", "w") as f:
    wr = csv.DictWriter(f, fieldnames=info[0].keys())
    wr.writeheader()
    wr.writerows(info)
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python JSON

Article connexe - Python CSV