/ / Remplacement d'un fichier JSON par un fichier CSV pour d3js - json, csv, d3.js

Remplacement du fichier JSON par CSV pour d3js - json, csv, d3.js

http://bl.ocks.org/robschmuecker/7880033

Je suis nouveau sur javascript et d3. L'exemple ci-dessus est un dendrogramme. Je peux créer le mien. Cependant, si je voulais l’utiliser pour quelque chose comme les données des employés, il me paraîtrait pénible de toujours avoir à éditer le JSON à moins que je ne manque une astuce plus facile.

Un CSV dans Excel, que j’ai utilisé dans d’autres graphiques, semblerait bien fonctionner. Est-il possible de remplacer le fichier flare.json par un CSV avec les données? Si oui, comment?

Réponses:

2 pour la réponse № 1

Non, ce n’est pas possible directement. Pour savoir pourquoi, vous devez comprendre le fonctionnement de la fonction. d3.csv crée un tableau. Supposons que vous ayez ce fichier CSV:

foo, bar, baz
21, 33, 5
1, 14, 42

Lorsque analysé, il générera un seul tableau deobjets, sans tableaux imbriqués ni objets imbriqués. La première ligne définit les noms de clé et les autres lignes les valeurs. Voici le tableau généré pour ce CSV:

[
{"foo": 21, "bar": 33, "baz": 5},
{"foo": 1, "bar": 14, "baz": 42}
]

Ou, si vous ne modifiez pas le type, avec les nombres sous forme de chaînes:

[
{"foo": "21", "bar": "33", "baz": "5"},
{"foo": "1", "bar": "14", "baz": "42"}
]

Vous n'allez nulle part près de ce que vous voulez, c'est-à-dire un tableau d'objets contenant des tableaux contenant des objets contenant des tableaux, etc.

Vous pouvez modifier ce tableau ultérieurement pour créer les enfants imbriqués dont vous avez besoin (consultez le commentaire @torresomar ci-dessous), mais il est plus facile de modifier simplement votre JSON.