- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Quand on commence à manipuler des données à l'intérieur d'un fichier JSON,on se demande souvent comment faire pour ajouter des données,comme par exemple ici ajouter des informations à l'intérieur de ma listequi est dans le fichier data.json ici.
00:00:13 :Vous seriez peut-être tenté d'utiliser le mode Wet d'indiquer par exemple ici une liste avec le nombre que vous souhaiteriezajouter à ce fichier JSON.
00:00:22 :Le problème c'est que si je fais ça, en fait, on va écraser ce qui est contenuà l'intérieur du fichier. Donc là on a écrasé la liste et on l'a remplacée
00:00:28 :par la liste avec le nombre 4 qu'on avait indiqué ici.Donc à la place, vous seriez peut-être tenté de changer le mode Wici par le mode A, qui est le mode append, qui permetd'ajouter à un fichier texte, sauf que dans ce cas-ci,avec un fichier JSON, ça va ajouter ma liste à la suite
00:00:43 :de la liste qui est déjà présente ici. Donc si je relance mon script,vous voyez que la liste a été ajoutée à la suitede ma première liste. Et le problème c'est que cette syntaxe ici
00:00:52 :n'est pas valide, déjà parce qu'il n'y a pas de virgule entre les deux listeset puis parce qu'avec JSON, on ne peut pas avoirplusieurs objets à l'intérieur du même fichier. Donc ce qui pourrait marcher
00:01:01 :par exemple ici, c'est si on avait une virgule pour délimiter les deux listeset qu'on encapsulait tout ça dans une liste principalecomme ceci, en mettant des crochets autour de mes deux listes.
00:01:10 :Donc là j'aurais un seul objet, donc une seule listequi contiendrait deux objets, donc cette première liste et ensuitecette deuxième liste. Donc ça ce serait possible, mais d'avoir directement
00:01:19 :deux listes comme ceci, donc deux objets à l'intérieur de notre fichier,ce n'est pas possible. Et en plus comme on utilise le mode A,ça n'ajoute pas la virgule, ça fait juste mettre cette liste à la suite.
00:01:28 :Donc là c'est encore pire, ce n'est même pas une syntaxe valide.Donc comment on peut faire pour modifier la liste existante ?Et bien ce qu'il faut faire en fait, ce n'est pas utiliserle mode W ni le mode A, mais en fait le mode Rqui va nous permettre de déjà récupérer les informations
00:01:43 :qui sont dans le fichier JSON, pour ensuite les modifier dans notre scriptpuis écrire les nouvelles données, donc les données qu'on amodifiées de nouveau avec le mode W pour écrasertout ce qui était à l'intérieur. Donc je vais vous montrer tout ça.
00:01:55 :Donc on va changer le mode A ici pour le mode R qui va me permettrede lire ce qui est à l'intérieur du fichier. Donc je vais
00:02:01 :utiliser à la place de dump la fonction load qui va me permettrede lire les données qui sont contenues dans mon fichier.Donc je vais récupérer ça dans une variable que je vais appeler donnéeset qui va donc être égale à json.load. Donc si je fais juste ça
00:02:13 :pour l'instant, que je fais un print de mes données,je sauvegarde et j'exécute mon script, vous voyez qu'on récupèrebien la liste qui est dans mon fichier. Donc cette fois-ci
00:02:22 :je vais pouvoir modifier la liste dans ce script, donc on va fairepar exemple données.append 4, donc on va ajouterle nombre 4 dans cette liste et ensuite on va reprendretout ça et on va le modifier un petit peu pour cette fois-ciécrire avec le mode W à l'intérieur de mon
00:02:37 :fichier JSON. Et là on va écraser tout ce qui était à l'intérieurdonc on ne va pas ajouter, on va juste écraser avecles nouvelles données, donc cette liste ici qui a maintenant lenombre 4 qui a été ajouté. Donc on remet un dump
00:02:49 :ici, on n'a plus besoin de cette variable et on va en faitmettre les données dans lef, donc f c'est le fichier ici que j'ai ouvert et on varemettre un indent de 4 pour avoir une bonne indentation.
00:03:01 :Donc je sauvegarde et je vais vous montrer tout ce qu'on fait ici.On importe le module JSON, on va lireles données qui sont dans notre fichier, on les récupère dans cette variable,on modifie la variable en lui ajoutant 4 à la fin, doncon ajoute dans notre liste puisque ici c'est une liste et ensuite
00:03:16 :on réécrit ces données à l'intérieur de notre fichier avecdump avec notre indent de 4. Donc jesauvegarde, je relance le script et là vous voyez qu'on a correctementmodifié notre fichier, donc on a bien un seulobjet ici, on n'a pas rajouté un objet, on a juste écrasé
00:03:31 :l'objet qui était existant. Donc on a récupéré les données,on les a modifiées et on les a réécrites. Donc c'est comme ça qu'onmodifie les données dans un fichier JSON, il faut déjà les lirepuis les modifier dans votre script puis les réécrire.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.