Python(またはプッシュ、Javascript)でこれを行うエレガントな方法があると確信していますが、私の人生ではそれを見ることができません...
次の形式の CSV ファイルがあります。
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
theJITでデータを視覚化できるように、階層的な JSON 構造を生成したいと考えています。
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* ]
};
私の計画は、ID を id に、名前を名前に、説明を data.desc にマップし、次のように階層を編成することでした。
- ルートは A と B の親です
- A は A100 と A200 の親です
- A100 は A110 と A120 の親です
- A110 は A111、A112、および A113 の親です
- B は B100 の親です
- B100 は B130 と B140 の親です
- B130 は B131 の親です
A100 が A131 の親である (予期された A130 が存在しない)、通常の ID による順序付けでは病的なケースもあります。
これに対するエレガントなPythonの解決策を見つけたいと思っていましたが、病理学的なケースを無視しても、現時点では私を打ち負かしています...