Loading [MathJax]/jax/output/HTML-CSS/config.js

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())
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd, utilisée pour la manipulation de données. import seaborn as sns importe la bibliothèque seaborn, renommée ici en sns, 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 variable titanic.

    Enregistrer le dataset Titanic au format JSON

    La méthode to_json() permet d’enregistrer le DataFrame titanic au format JSON. Le paramètre orient='records' organise les données sous forme de liste d’enregistrements (chaque ligne devient un dictionnaire), tandis que lines=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 de df.