2017-11-18 122 views
1

我正在使用d3執行csv文件的數據可視化。 的CSV看起來是這樣的:d3 - 控制檯中的csv文件標題行,如果字符串類型

UserId,Reputation,Name,Tags 
22656,985942,Jon Skeet,"<c#><google-cloud-platform><google-cloud-datastore><google-authentication>,<msbuild><asp.net-core><mono><.net-core><travis-ci>,<.net><nuget><.net-core><visual-studio-2017><csproj>,<.net><md5>,<c#><wpf><xaml><globalization>,<java><c#><variables><object><reference>,<java><newline>,<c#><.net><debugging><compiler-errors><jit>,<git><git-reset><git-revert><git-clean>,<git>,<java><generics>                                " 

我的index.html是這樣的:

d3.csv("UsersFavTags.csv", function(data){ 
console.log(data[0]); 
for(i=0;i<data.length;i++){ 
    data[i].Tags = createTagArray(data[i].Tags) 
} 
data.forEach(function(d){ 
    console.log("d: "+d); 
    d.Tags = createTagArray(d.Tags); 
    d.CountedTags = listOccurence(d.Tags); 
    d.Tags = listUnique(d.Tags); 
}); 
console.log(data); 
}); 

然而,在控制檯輸出看起來像:

{UserId: "22656", Reputation: "985942", Name: "Jon Skeet", "Tags ": "<c#><google-cloud-platform><google-cloud-datastore…        "} 

注意Tags是字符串類型,它是"Tags "這使我無法訪問的值Tags

回答

0

可以使用["Tags "]語法訪問"Tags "屬性:

var object = {UserId: "22656", Reputation: "985942", Name: "Jon Skeet", "Tags ": "some string"}; 
 

 
console.log(object["Tags "]);

您也可以處理你data,並在年底創建沒有空間物體:

var data = [ 
 
{UserId: "22656", Reputation: "985942", Name: "Jon Skeet", "Tags ": "some string"}, 
 
{UserId: "22657", Reputation: "985943", Name: "Jon Skeet II", "Tags ": "another string"}, 
 
]; 
 

 
data.forEach(function(item){ 
 
    item.Tags = item["Tags "]; // store value to the propety without space 
 
    delete item["Tags "]; // delete property with space 
 
}); 
 

 
console.log(data);

+0

謝謝我有道理!但是你知道是什麼原因導致我的csv文件數據數組有'標籤'字符串類型嗎? –

+0

我認爲這是因爲在你的csv文件中是一個空格字符後面的「標籤」單詞 - ''UserId,聲譽,名稱,標籤「' –

+1

你也可以考慮指定一個可以修復」標籤「問題的訪問函數數據被解析。有關更多詳細信息,請參閱此文檔。 https://github.com/d3/d3-3.x-api-reference/blob/master/CSV.md#parse – John

相關問題