2017-02-04 71 views
2

我用d3.csv功能d3.js CSV加載 - 簡單的數據轉換

d3.csv(files[0], 
    function (d) { 

     return { 
      col1: +d["col1"], 
      col2: +d["col2"], 
      col3: +d["col3"]    
     };   
    }, 
function(error, data) {...}); 

,我用function(d)將所有數據轉換爲NUMERICS加載csv文件。有沒有簡化代碼並處理所有列而不顯式引用其名稱的方法?

+0

嘿,你能解釋一下你實際上想達到什麼以及你在變量d中獲得的數據格式。 –

+0

我正在加載一個csv文件,所有數字。爲了被識別爲數字,我需要運行這些+ =轉換語句,它工作正常,但我想以我沒有明確提及列名的方式來完成。 – Alex

回答

3

你想重複做同樣的事情。這需要一個循環(例如for-loop或map)。

function (d) { 
    var result = {}; 
    for (key in d) { 
    result[key] = +d[key]; 
    } 
    return result; 
} 
+0

太棒了!還有一個問題:我可以把這段代碼放在第三個參數('function(error,data)')中嗎? – Alex

+1

一般來說,你可以在回調函數中做任何你喜歡的事情,因爲這只是簡單的JavaScript。所以是的,你可以做到這一點。但是,轉換通常在訪問器函數中完成。 – Bengt