2017-11-18 124 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

相关问题