2016-05-31 27 views
1

http://bl.ocks.org/robschmuecker/7880033與CSV更換JSON文件d3js

我是新來的JavaScript和d3。上面的例子是樹狀圖。我可以創建自己的。但是,如果我想將它用於員工數據之類的東西,似乎總是需要編輯json,除非我錯過了一些更簡單的技巧,這將是一件痛苦的事情。

excel中的csv,我在其他圖表中使用,看起來會很好。是否有可能用csv替換flare.json與數據?如果是這樣,怎麼樣?

回答

2

不,不可能直接。要知道原因,您必須瞭解功能d3.csv創建數組的方式。假設你有這個CSV文件:

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

分析時,它將生成一個單一的對象數組,沒有嵌套數組或嵌套對象。第一行定義鍵名稱,其他行定義值。這是該CSV產生的數組:

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

或者,如果你不爲字符串更改類型,編號爲:

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

你不會得到任何接近你想要什麼,它是一個包含數組的對象數組,包含數組等對象...

您可以稍後修改此數組以創建您需要的嵌套的子項(請看下面的@torresomar註釋),但它更容易編輯你的JSON。

+0

或者編寫一個簡單的程序將一種文件格式轉換爲另一種文件格式。如果你需要轉換大量文件,結果可能會更快。 – RichS

+1

是啊@GerardoFurtado是對的,我試圖給出一個分層的方法來處理CSV,但它會非常麻煩,因爲CSV不是一種簡單的方式允許您的層次結構的格式。如果你仍然想延長CSV使用率,你可能想檢查一下http://stackoverflow.com/questions/19043561/csv-data-to-nested-json-tree-in-d3,但我不推薦它。 – torresomar

+0

這些都是很好的迴應。非常感謝你的幫助。 – Nick