Le JSON (JavaScript Object Notation) est un format d’échange de données largement utilisé. Grâce à sa légèreté et sa lisibilité, il est employé dans de nombreux contextes tels que les réponses des API Web ou les fichiers de configuration. Cet article explique en détail comment lire, mettre à jour et éditer efficacement les fichiers JSON avec Python, à l’aide d’exemples de code concrets. Ainsi, même les débutants en Python pourront manipuler facilement des fichiers JSON.
Qu’est-ce qu’un fichier JSON ?
Un fichier JSON est un format d’échange de données léger et lisible pour les humains, abrégé de JavaScript Object Notation. Il permet de représenter des objets constitués de paires clé-valeur, ou des tableaux composés de listes de valeurs. Le JSON est indépendant du langage et est pris en charge par de nombreux langages de programmation, ce qui le rend largement utilisé pour le stockage et le transfert de données.
Comment lire un fichier JSON avec Python
En Python, il est facile de lire un fichier JSON en utilisant le module json
de la bibliothèque standard. Voici les étapes de base et un exemple de code.
Importer le module JSON
Tout d’abord, importez le module json
. Celui-ci fait partie de la bibliothèque standard, donc aucune installation supplémentaire n’est nécessaire.
import json
Lire un fichier JSON
Ensuite, lisez le fichier JSON. Dans l’exemple ci-dessous, le fichier data.json
est lu, et son contenu est obtenu sous la forme d’un objet de type dictionnaire en Python.
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
Dans ce code, la fonction open
est utilisée pour ouvrir le fichier, et la fonction json.load
permet de lire les données JSON. Les données lues peuvent être manipulées comme un dictionnaire en Python.
Comment mettre à jour les données d’un fichier JSON
En Python, il est facile de mettre à jour les données JSON lues. Voici les étapes concrètes et un exemple de code.
Mise à jour des données JSON
Les données JSON lues sont traitées comme un objet de type dictionnaire en Python. Pour les mettre à jour, il suffit d’effectuer des opérations sur le dictionnaire. Par exemple, pour changer la valeur d’une clé spécifique :
# Mettre à jour les données existantes
data['name'] = 'Nouveau Nom'
Enregistrer les données mises à jour
Pour enregistrer les données mises à jour dans le fichier JSON d’origine, utilisez la fonction json.dump
. L’exemple suivant montre comment enregistrer les données mises à jour dans le fichier data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
Dans ce code, la fonction open
est utilisée pour ouvrir le fichier, et la fonction json.dump
permet d’écrire les données mises à jour. Le paramètre indent
permet de définir l’indentation des données JSON enregistrées, ce qui améliore la lisibilité.
Comment ajouter de nouvelles données à un fichier JSON
Il est également facile d’ajouter de nouvelles données à un fichier JSON existant en Python. Voici les étapes concrètes et un exemple de code.
Ajouter de nouvelles données
Les données JSON étant traitées comme un dictionnaire, il suffit d’ajouter une nouvelle paire clé-valeur au dictionnaire. L’exemple suivant montre comment ajouter une nouvelle clé age
et sa valeur.
# Ajouter de nouvelles données
data['age'] = 30
Enregistrer les données ajoutées
Après avoir ajouté les nouvelles données, enregistrez les mises à jour dans le fichier JSON. La méthode d’enregistrement est la même que pour les mises à jour. L’exemple suivant montre comment enregistrer les nouvelles données dans le fichier data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
De cette manière, il est possible d’ajouter et d’enregistrer de nouvelles données dans un fichier JSON existant.
Comment supprimer des données d’un fichier JSON
En Python, il est possible de supprimer des données indésirables d’un fichier JSON en manipulant l’objet dictionnaire. Voici les étapes concrètes et un exemple de code.
Suppression des données
Pour supprimer une clé spécifique et sa valeur des données JSON, utilisez l’instruction del
. L’exemple suivant montre comment supprimer la clé age
.
# Supprimer une clé spécifique
del data['age']
Enregistrer les données après suppression
Après avoir supprimé les données, enregistrez les modifications dans le fichier JSON. La méthode d’enregistrement est identique à celle des mises à jour ou ajouts. L’exemple suivant montre comment enregistrer les données après suppression dans le fichier data.json
.
with open('data.json', 'w') as file:
json.dump(data, file, indent=4)
De cette manière, il est possible de supprimer les données indésirables d’un fichier JSON et de les enregistrer.
Enregistrement et encodage des fichiers JSON
Lors de l’enregistrement des données JSON mises à jour ou éditées, il est important de configurer correctement l’encodage. Voici une explication sur la manière d’enregistrer les fichiers JSON et les paramètres d’encodage.
Enregistrement des données JSON
En Python, utilisez la fonction json.dump
pour enregistrer les données JSON modifiées dans un fichier. Ouvrez le fichier en mode écriture et enregistrez les données mises à jour.
with open('data.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False)
Ici, en spécifiant encoding='utf-8'
, le fichier sera enregistré en encodage UTF-8. En outre, en définissant ensure_ascii=False
, les caractères non-ASCII seront également enregistrés tels quels, ce qui permet de sauvegarder correctement les caractères japonais ou autres caractères spéciaux.
L’importance de l’encodage
La configuration de l’encodage est particulièrement importante pour les applications prenant en charge l’internationalisation. L’utilisation de l’encodage UTF-8 permet de prendre en charge un large éventail de jeux de caractères et d’assurer la compatibilité des données.
Cas d’utilisation : manipulation de plusieurs fichiers JSON
Lorsque vous manipulez plusieurs fichiers JSON avec Python, vous devez effectuer une série d’opérations telles que la lecture de chaque fichier, l’intégration des données, la mise à jour et l’enregistrement. Voici les étapes concrètes et un exemple de code.
Lecture de plusieurs fichiers
Commencez par lire plusieurs fichiers JSON. L’exemple suivant montre comment lire deux fichiers, data1.json
et data2.json
, et obtenir leurs données respectives.
import json
# Lire les fichiers
with open('data1.json', 'r') as file1, open('data2.json', 'r') as file2:
data1 = json.load(file1)
data2 = json.load(file2)
Intégration des données
Voici comment intégrer les données lues. L’exemple suivant montre comment fusionner deux dictionnaires.
# Fusionner les données
merged_data = {**data1, **data2}
En cas de clés dupliquées, les valeurs de data2
seront prioritaires.
Mise à jour et enregistrement des données intégrées
Mettez à jour les données intégrées, puis enregistrez-les. L’exemple suivant montre comment ajouter une nouvelle entrée aux données intégrées, puis les enregistrer dans un fichier merged_data.json
.
# Mettre à jour les données
merged_data['new_key'] = 'Nouvelle Valeur'
# Enregistrer les données intégrées
with open('merged_data.json', 'w', encoding='utf-8') as file:
json.dump(merged_data, file, indent=4, ensure_ascii=False)
De cette manière, il est possible de manipuler plusieurs fichiers JSON, d’intégrer les données et de les enregistrer.
Exercices pratiques
Voici des exercices pratiques pour aider les lecteurs à maîtriser les compétences de manipulation des fichiers JSON en Python. Ces exercices permettent de comprendre de manière pratique les concepts abordés.
Exercice 1 : Lecture d’un fichier JSON
Lisez le fichier example.json
ci-dessous et affichez son contenu.
{
"name": "Alice",
"age": 25,
"city": "Tokyo"
}
Exercice 2 : Mise à jour des données
Mettez à jour l’âge des données lues dans l’exercice 1 en le remplaçant par 30, puis affichez le contenu mis à jour.
Exercice 3 : Ajout de nouvelles données
Ajoutez une nouvelle clé email
avec la valeur alice@example.com
aux données mises à jour dans l’exercice 2, puis affichez le contenu.
Exercice 4 : Suppression de données
Supprimez la clé email
ajoutée dans l’exercice 3, puis affichez le contenu après la suppression.
Exercice 5 : Intégration de plusieurs fichiers
Lisez les deux fichiers JSON ci-dessous, intégrez leurs données, puis affichez le résultat.
// file1.json
{
"name": "Alice",
"age": 25
}
// file2.json
{
"city": "Tokyo",
"country": "Japan"
}
Ajoutez une nouvelle clé phone
avec la valeur 123-456-7890
aux données intégrées, puis enregistrez-les dans un nouveau fichier merged.json
.
Ces exercices permettent d’acquérir une compréhension solide des opérations de base sur les fichiers JSON en Python.
Conclusion
Nous avons expliqué en détail comment manipuler les fichiers JSON avec Python, y compris la structure de base des fichiers JSON, ainsi que la lecture, la mise à jour, l’ajout et la suppression de données, et l’intégration de plusieurs fichiers. Les exercices pratiques permettent d’acquérir des compétences concrètes. Utilisez ces connaissances pour le traitement des données, l’intégration d’API et bien d’autres applications. Continuez à explorer les bibliothèques puissantes de Python pour améliorer votre programmation.