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', []
-----