Quelle format de donnée proche de JSON sans répétition ?
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Quelle format de donnée proche de JSON sans répétition ?



  1. #1
    vincent2303

    Quelle format de donnée proche de JSON sans répétition ?


    ------

    Bonjour, je travaille sur un projet python dans lequel je dois sauvegarder des données sur un fichier.
    J'aimerais trouver le bon format de donnée (CSV, JSON, ou autre) a utiliser.

    Voici un exemple (très simplifié) de donnée que je dois sauvegarder:

    J'ai une liste de USER.
    Un USER possède toujours: un id (int), un name (str), une liste d'item (liste item)
    Un item possède toujours: un id (int) et un name (str)

    Par exemple:
    ````
    to_save_data = [
    { 'id': 0, 'name': 'Alice', 'items': [ { 'id': 0, 'name': 'Sword' } ] },
    { 'id': 11, 'name': 'Bob', 'items': [ { 'id': 1, 'name': 'Axe' }, { 'id': 2, 'name': 'Shield' } ] },
    { 'id': 57, 'name': 'Charlie', 'items': [] },
    ]
    `````

    Je dois sauvegarder ces données avec comme contraintes:
    1. Un seul fichiers
    2. Une ligne dois correspondre a 1 USER
    2. je peux ecrire & lire ligne par ligne. Je peux ajouter une ligne rapidement (pas besoin de tous relire et tous réecrire)
    3. Prend un minimum de place (sans encodage, si j'ouvre le fichier et que je regarde une ligne, je peux voir les champs du user)

    Au départ j'utilisais JSON.
    Mais comme je dois auvegarder beaucoup de donnée, j'ai remarqué que ce n'etait pas la bonne solution car le nom des champs est répété partout ce qui prend de la place innutilement.

    Quelle format de donnée devrais-je utiliser ?

    J'ai pensé à implementer mon propre format de donnée mais j'ai l'impression que je vais juste réinventer quelquechose qui existe déjà.

    Ce a quoi j'ai pensé ressemblerais à ça:
    0, 'Alice', [(0, 'Sword')]
    11, 'Bob', [(1, 'Axe'), (2, 'Shield')]
    57, 'Charlie', []

    -----

  2. #2
    piep62110

    Re : Quelle format de donnée proche de JSON sans répétition ?

    Bonjour, le format que tu décris est le format json.

  3. #3
    pm42

    Re : Quelle format de donnée proche de JSON sans répétition ?

    Sinon, un csv avec des lignes de longueur variable marche.
    Mais avec Python, j'utiliserais plutôt un fichier Excel : c'est très facile à manipuler hors du programme, ça se lit dans un dataframe en une ligne avec pandas et on fait vraiment ce qu'on veut.

  4. #4
    vgondr98

    Re : Quelle format de donnée proche de JSON sans répétition ?

    Une idée comme ça. Si tu écrits ton format sous cette forme :


    0, 'Alice', [[0, 'Sword']],
    11, 'Bob', [[1, 'Axe'], [2, 'Shield']],
    57, 'Charlie', []

    Tu peux facilement transformer cette chaîne de caractères en tableau. Par contre tu perd en lisibilité.

  5. A voir en vidéo sur Futura
  6. #5
    umfred

    Re : Quelle format de donnée proche de JSON sans répétition ?

    Tu pourrais faire un csv proche de ce que tu suggères, je propose:
    Code:
    0, 'Alice', 0, 'Sword',
    11, 'Bob', 1, 'Axe', 2, 'Shield',
    57, 'Charlie',
    Si le nombre de champs (séparé par la virgule ou un autre caractère) est supérieur à 2, alors tu as des items.

    Une variante pourrait être d'avoir un fichier items contenant uniquement les items
    Code:
    0,'Sword',
    1,'Axe',
    2,Shield,
    et un fichier contenant les users
    Code:
    0, 'Alice', 0,
    11, 'Bob', 1, 2,
    57, 'Charlie',
    PS: on pourrait se passer des guillemets en csv

Discussions similaires

  1. [Programmation] demande de renseignement sur la transmission de donnee sans fil
    Par sophianna dans le forum Électronique
    Réponses: 5
    Dernier message: 14/03/2019, 09h45
  2. Transmition d'1Ko de donnée sans fil longue sur 3Km
    Par invitebf55f6b6 dans le forum Électronique
    Réponses: 78
    Dernier message: 22/09/2007, 12h33
  3. De plus en plus proche de l'électricité sans fil !
    Par invite8a64f8f1 dans le forum Environnement, développement durable et écologie
    Réponses: 1
    Dernier message: 24/08/2007, 08h24
  4. transmision de donnée sans fil
    Par nanard dans le forum Électronique
    Réponses: 3
    Dernier message: 22/03/2006, 18h56