Comment sauvegarder un dictionnaire dans un fichier json avec python ?

Published: 12 avril 2019

DMCA.com Protection Status

Exemples de comment sauvegarder un dictionnaire dans un fichier json (JavaScript Object Notation) avec python:

Voir aussi: pickle — Python object serialization et marshal — Internal Python object serialization

Sauvegarder un dictionnaire dans un fichier json

Pour sauvegarder un dictionnaire avec python dans un fichier json, on peut utiliser la fonction json dump(), exemple:

import json

dict = {"member #002":{"first name": "John", "last name": "Doe", "age": 34},
        "member #003":{"first name": "Elijah", "last name": "Baley", "age": 27},
        "member #001":{"first name": "Jane", "last name": "Doe", "age": 42}}

with open('data.json', 'w') as fp:
    json.dump(dict, fp)

le script python ci-dessus va alors créer le fichier 'data.json' suivant:

{"member #002": {"first name": "John", "last name": "Doe", "age": 34}, "member #003": {"first name": "Elijah", "last name": "Baley", "age": 27}, "member #001": {"first name": "Jane", "last name": "Doe", "age": 42}}

Améliorer l'apparence du fichier json

Pour améliorer l'apparence du fichier json et le rendre plus facile à lire, on peut utiliser l'option indent dans la fonction dump()exemple:

import json


dict = {"member #002":{"first name": "John", "last name": "Doe", "age": 34},
        "member #003":{"first name": "Elijah", "last name": "Baley", "age": 27},
        "member #001":{"first name": "Jane", "last name": "Doe", "age": 42}}


with open('data.json', 'w') as fp:
    json.dump(dict, fp,  indent=4)

va donner ici:

{
    "member #002": {
        "first name": "John",
        "last name": "Doe",
        "age": 34
    },
    "member #003": {
        "first name": "Elijah",
        "last name": "Baley",
        "age": 27
    },
    "member #001": {
        "first name": "Jane",
        "last name": "Doe",
        "age": 42
    }
}

Trier le fichier json

Avec l'option sort_keys=True on peut aussi trier les clés du dictionnaire:

import json


dict = {"member #002":{"first name": "John", "last name": "Doe", "age": 34},
        "member #003":{"first name": "Elijah", "last name": "Baley", "age": 27},
        "member #001":{"first name": "Jane", "last name": "Doe", "age": 42}}


with open('data.json', 'w') as fp:
    json.dump(dict, fp, sort_keys=True, indent=4)

donne

{
    "member #001": {
        "age": 42,
        "first name": "Jane",
        "last name": "Doe"
    },
    "member #002": {
        "age": 34,
        "first name": "John",
        "last name": "Doe"
    },
    "member #003": {
        "age": 27,
        "first name": "Elijah",
        "last name": "Baley"
    }
}

Références