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 pd
Attributs :
Paramètre Type Description Valeur par défaut path_or_buffer
str Le chemin vers le fichier JSON ou l'URL du fichier JSON à lire. None
orient
str Spécifie la structure du fichier JSON. Par défaut, 'columns'
. Options possibles :'split'
,'records'
,'index'
,'columns'
,'values'
.'columns'
typ
str Détermine le type de l'objet retourné. Si 'frame'
, retourne un DataFrame. Si'series'
, retourne une Series.'frame'
dtype
bool ou dict Permet de spécifier les types des colonnes du DataFrame résultant. None
convert_axes
bool Si True
, permet de convertir les axes d'un DataFrame ou d'une Series.True
convert_dates
bool Si True
, permet de convertir les dates automatiquement.True
keep_default_dates
bool Si True
, garde les dates par défaut, sinon les dates sont traitées comme des chaînes.True
Exemple 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 pd
importe la bibliothèque pandas, renommée ici enpd
, utilisée pour la manipulation de données.import seaborn as sns
importe 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 DataFrametitanic
au format JSON. Le paramètreorient='records'
organise les données sous forme de liste d’enregistrements (chaque ligne devient un dictionnaire), tandis quelines=False
signifie 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édf
contenant 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
.