Question

Je suis sûr qu'il y a une façon élégante de faire cela dans Python (ou en poussant, javascript), mais pour la vie de moi, je ne peux pas le voir ...

J'ai un fichier CSV du formulaire:

ID, Name, Description
A, A-name,
A100, A100-name, A100-desc
A110, A110-name, A110-desc
A111, A111-name, A111-desc
A112, A112-name, A112-desc
A113, A113-name, A113-desc
A120, A120-name, A120-desc
A131, A131-name, A131-desc
A200, A200-name, A200-desc
B, B-name,
B100, B100-name, B100-desc
B130, B130-name, B130-desc
B131, B131-name, B131-desc
B140, B140-name, B140-desc

Et je veux générer une structure JSON hiérarchique afin que je puisse visualiser les données en thejit.

var json = {  
  "id": "aUniqueIdentifier",  
  "name": "usually a nodes name",  
  "data": {  
    "some key": "some value",  
    "some other key": "some other value"  
   },  
  "children": [ *other nodes or empty* ]  
}; 

Mon plan était de mapper ID à ID, de nommer pour nommer, description de data.desc, et d'organiser la hiérarchie pour que:

  • La racine est parent de A et B
  • A est le parent de A100 et A200
  • A100 est parent de A110 et A120
  • A110 est parent d'A111, A112 et A113
  • B est parent de B100
  • B100 est parent de B130 et B140
  • B130 est parent de B131

Il existe également un cas pathologique dans l'ordre autrement régulier par ID, où A100 est parent de A131 (l'A130 attendu n'est pas présent).

J'espérais trouver une solution python élégante à cela, mais cela me bat en ce moment, ignorant même le cas pathologique ...

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top