Lire un fichier JSON
La lecture d’un fichier JSON consiste à charger des données structurées au format JSON dans un DataFrame ou une autre structure Python. Utilisée couramment pour l’échange de données entre différentes applications, la fonction pd.read_json() permet de convertir un fichier JSON en un DataFrame Pandas, facilitant ainsi l’analyse et la manipulation des données. Cette méthode gère les objets JSON complexes, incluant des tableaux imbriqués, en les transformant en une structure tabulaire plus accessible.
Fonctions :
-
pandas.read_json()
Cette fonction permet de lire un fichier JSON et de le convertir en un DataFrame pandas. Elle peut lire des données au format JSON provenant d'un fichier local ou d'une URL.
Importation :
import pandas as pdAttributs :
Paramètre Type Description Valeur par défaut path_or_bufferstr Le chemin vers le fichier JSON ou l'URL du fichier JSON à lire. Noneorientstr Spécifie la structure du fichier JSON. Par défaut, 'columns'. Options possibles :'split','records','index','columns','values'.'columns'typstr Détermine le type de l'objet retourné. Si 'frame', retourne un DataFrame. Si'series', retourne une Series.'frame'dtypebool ou dict Permet de spécifier les types des colonnes du DataFrame résultant. Noneconvert_axesbool Si True, permet de convertir les axes d'un DataFrame ou d'une Series.Trueconvert_datesbool Si True, permet de convertir les dates automatiquement.Truekeep_default_datesbool Si True, garde les dates par défaut, sinon les dates sont traitées comme des chaînes.TrueExemple de code :
import pandas as pd import seaborn as sns # Charger le dataset Titanic titanic = sns.load_dataset('titanic') # Enregistrer en JSON titanic.to_json('titanic_dataset.json', orient='records', lines=False) # Lecture d'un fichier CSV avec le délimiteur par défaut (virgule) et la première ligne comme en-tête df = pd.read_json('titanic_dataset.json') # Affichage des 5 premières lignes du DataFrame print(df.head())
Explication du code :
import pandas as pdimporte la bibliothèque pandas, renommée ici enpd, utilisée pour la manipulation de données.import seaborn as snsimporte la bibliothèque seaborn, renommée ici ensns, qui fournit des jeux de données intégrés utiles à des fins pédagogiques et d’analyse exploratoire.Charger le dataset Titanic
La fonction
sns.load_dataset('titanic')charge le jeu de données Titanic intégré à seaborn, puis l’assigne à la variabletitanic.Enregistrer le dataset Titanic au format JSON
La méthode
to_json()permet d’enregistrer le DataFrametitanicau format JSON. Le paramètreorient='records'organise les données sous forme de liste d’enregistrements (chaque ligne devient un dictionnaire), tandis quelines=Falsesignifie que le fichier ne contient pas une ligne par enregistrement JSON, mais un seul objet JSON contenant toute la liste.titanic.to_json('titanic_dataset.json', orient='records', lines=False)enregistre donc l’intégralité des données dans un fichier JSON structuré sous forme de liste de dictionnaires.Lecture du fichier JSON
La fonction
pd.read_json()permet de charger un fichier JSON dans un DataFrame. Ici, le fichier'titanic_dataset.json'est lu avec les paramètres par défaut adaptés au format produit précédemment (orienté enregistrements, sans lignes séparées).df = pd.read_json('titanic_dataset.json')crée ainsi un DataFrame nommédfcontenant les données du fichier JSON.Afficher les 5 premières lignes du DataFrame
La méthode
head()de pandas affiche les 5 premières lignes d’un DataFrame. Cela permet de s’assurer du bon chargement et de la structure des données.print(df.head())affiche donc un aperçu des premières lignes dedf.