Bonjour à tous,
pour mon application de dépistage du diabète, on me demande de fusionner toutes les saisies du département, sachant que ces saisies sont dans des fichiers json différents.
Je viens vers vous parce que je tourne en rond sans cesse et surtout sans trouver la solution, en fait quand je clique sur le bouton "Fusionner", il faudrait que ça m'ouvre une procédure capable de lire chaque fichier et me mette les résultats dans une liste.
le problème : comment lister les fichiers et les ouvrir un à un ?
Si vous pouvez m'aider, je vous en remercie par anticipation.
Comment fusionner plusieurs fichiers Json
Comment fusionner plusieurs fichiers Json
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Comment fusionner plusieurs fichiers Json
Lister les fichier ce n'est pas compliqué : ExamineDirectory()
Ensuite pour chaque fichier json trouvé, extraction dans une liste temporaire.
Et enfin copier la liste temporaire dans le fichier destination avec la commande CopyList()#PureBasic est formidable ^|^
Ensuite pour chaque fichier json trouvé, extraction dans une liste temporaire.
Et enfin copier la liste temporaire dans le fichier destination avec la commande CopyList()
Code : Tout sélectionner
#JSONFile = 0
Structure NewContact
departement.i
nom.s
EndStructure
Global NewList contacts.NewContact()
Global NewList temp.NewContact()
Procedure ContactAdd(Departement, Nom.s)
AddElement(contacts())
contacts()\departement = Departement
contacts()\nom = Nom
EndProcedure
;Création du fichier JSON du 75
ContactAdd(75, "Marchalombre")
ContactAdd(75, "Balature")
ContactAdd(75, "Zarda")
CreateJSON(#JSONFile)
InsertJSONList(JSONValue(#JSONFile), Contacts())
SaveJSON(#JSONFile, "contacts.75.json")
;Création du fichier JSON du 78
ContactAdd(78, "Dupont")
ContactAdd(78, "Durant")
ContactAdd(78, "Batolou")
CreateJSON(#JSONFile)
InsertJSONList(JSONValue(#JSONFile), Contacts())
SaveJSON(#JSONFile, "contacts.78.json")
;Création du fichier JSON du 92
ContactAdd(92, "Dumartin")
ContactAdd(92, "Alabrioche")
ContactAdd(92, "Babiole")
CreateJSON(#JSONFile)
InsertJSONList(JSONValue(#JSONFile), Contacts())
SaveJSON(#JSONFile, "contacts.92.json")
;Fusion des fichiers
Directory$ = GetCurrentDirectory() ; Tu renseignes le dossier contenant tes JSON
If ExamineDirectory(0, Directory$, "*.json")
ClearList(contacts())
While NextDirectoryEntry(0)
Debug "Traitement du fichier " + DirectoryEntryName(0)
ClearList(temp())
LoadJSON(#JSONFile, DirectoryEntryName(0), #PB_JSON_NoCase)
ExtractJSONList(JSONValue(#JSONFile), Temp()) ;Extraction dans une liste temporaire
CopyList(Temp(), contacts())
Wend
FinishDirectory(0)
Debug ""
EndIf
;Debug liste fusionnée
ForEach contacts()
Debug "Departement " + contacts()\departement + " Nom " + contacts()\nom
Next
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Comment fusionner plusieurs fichiers Json
Un grand merci pour ton aide qui m'est bien salutaire.
Oui, c'est vrai que PureBasic est formidable, dommage que mon cerveau ne sois plus aussi brillant qu'il y a 40 ans.
Par contre j'ai choisi MergeLists() parce que mes fichiers n'ont pas tous le même nombre d'enregistrements.
Oui, c'est vrai que PureBasic est formidable, dommage que mon cerveau ne sois plus aussi brillant qu'il y a 40 ans.
Par contre j'ai choisi MergeLists() parce que mes fichiers n'ont pas tous le même nombre d'enregistrements.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !