IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Inserer ligne spécifique dans un json


Sujet :

Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut Inserer ligne spécifique dans un json
    Bonjour,

    J'ai le JSON suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {
    	"module": 
    	{
    		"Adresse": "127.0.0.1",
    		"Nb": 25,
     
    	},
    	"zone":
    	{
    		"Cle": 0,
    		"Marque": 0
    	}
    }
    Et je souhaite rajouter une ligne Timestamp dans chaque groupe pour obtenir ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    {
    	"module": 
    	{
    		"Date": "20-02-2022 17:15:01",
    		"Adresse": "127.0.0.1",
    		"Nb": 25,
    
    	},
    	"zone":
    	{
    		"Date": "20-02-2022 17:15:01",
    		"Cle": 0,
    		"Marque": 0
    	}
    }
    En vous remerciant.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Ne connaissant pas les outils JSON pour Python, je ferais comme pour un fichier classique, à savoir
    • lire et stocker le fichier en RAM
    • modifier la RAM
    • réécrire un fichier neuf avec le contenu modifié de la RAM


    Autre solution qui économise la RAM: lire le fichier et le réécrire modifié dans un autre fichier temporaire, puis effacer le premier et renommer le second. Mais il faut gérer les soucis possibles comme la collision (ton programme appelé deux fois en parallèle allant écrire dans le même fichier temporaire) ou les accès concurrents (quelqu'un travaillant sur ton fichier initial pendant que tu veux l'effacer pour renommer le temporaire)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 746
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 746
    Par défaut
    Salut,

    Vous avez un module standard pour lire/écrire du JSON.
    Une fois lu, le JSON sera un composite des dictionnaires et de listes à parcourir pour y ajouter ce que vous voulez où vous voulez.
    Cela fait, vous sauvegardez un nouveau JSON contenant les modifs et voilà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 228
    Par défaut
    hello,
    il me semble qu'il y a une erreur à la ligne 5 de ton json, il ne faut pas de virgule à la fin.
    Si la position de l'insertion n'a pas d'importance voici un exemple de code en utilisant la bibliothèque standard json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import json
    myjsonsrc = """
    {
        "module": 
        {
            "Adresse": "127.0.0.1",
            "Nb": 25
        },
        
        "zone":
        {
            "Cle": 0,
            "Marque": 0
        }
    }
    """
    myjson = json.loads(myjsonsrc)
    myjson['module']['Date'] = '20-02-2022 17:15:01'
    myjson['zone']['Date'] = '20-02-2022 17:15:01'
    myjsondst = json.dumps(myjson,sort_keys=True)
    print(myjsondst)
    Les clés sont ordonnées par ordre alphabétique.

    Ami calmant, J.P

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Par défaut
    Salut,.
    Merci, en effet, je n'avais pas pas vu l'erreur de la virgule.

    Pour l'insertion, c'est juste que le JSON doit etre transformé en graphique avec l'axe en X en date.

    Je vais tester pour voir si cela est un problème.

    Cdt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lire une ligne spécifique dans un fichier texte
    Par ZRemi dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/04/2010, 13h58
  2. inserer ligne jTable dans des jtextField
    Par karamokooo dans le forum Composants
    Réponses: 3
    Dernier message: 08/03/2010, 15h47
  3. Supression de ligne spécifique dans fichier txt
    Par dubinc38 dans le forum VBScript
    Réponses: 8
    Dernier message: 09/03/2009, 13h13
  4. Réponses: 55
    Dernier message: 16/11/2008, 17h32
  5. Affichage de lignes spécifiques dans un fichier binaire
    Par Marley_T dans le forum Débuter
    Réponses: 1
    Dernier message: 19/01/2008, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo