Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用D3.JS将CSV转换为JSON_Javascript_Json_D3.js_Linechart - Fatal编程技术网

Javascript 使用D3.JS将CSV转换为JSON

Javascript 使用D3.JS将CSV转换为JSON,javascript,json,d3.js,linechart,Javascript,Json,D3.js,Linechart,我有一个以下格式的csv文件 type,1,2,3,4,5,6,7,8,.... // Upto 48 type1,54.69801915,84.4717406,81.87766667,66.48516667,... type2,51.57399106,84.23170179,82.13950136,67.37540461,... ...... 我想用这个csv数据和d3画一个折线图。一旦我用下面的代码嵌套它们 d3.nest().key(function(d) { return d

我有一个以下格式的csv文件

type,1,2,3,4,5,6,7,8,.... // Upto 48
type1,54.69801915,84.4717406,81.87766667,66.48516667,...
type2,51.57399106,84.23170179,82.13950136,67.37540461,...
......
我想用这个csv数据和d3画一个折线图。一旦我用下面的代码嵌套它们

d3.nest().key(function(d) { 
    return d.type; 
  }).entries(data);
我的json如下所示

{ key: "type1", values: […] }
值中
它只是一个单元素数组,它的值是
{1:54.6980195,2:84.4717406,3:81.87766667,}

但我的期望是,这将是一个类似于

{ { 1: 54.69801915}, {2: 84.4717406}, {3: 81.87766667}, … }

有人能告诉我我做错了什么吗?或者我应该如何获得预期的格式?

好吧,这就是
d3.nest()的预期行为

如果您希望在问题中使用
作为对象数组的结构,我建议您编写自己的嵌套函数

下面是一个代码示例,它使用
map
for…in
实现您想要的功能。它既不优雅也不美观,它故意冗长以便于理解(我只在数据中使用了几列和几行):

var csv=`type,1,2,3,4
类型1,54.69801915,84.4717406,81.87766667,66.48516667
类型2,51.57399106,84.23170179,82.13950136,67.37540461`;
var数据=d3.csvParse(csv);
var嵌套=data.map(函数(d){
var obj={
关键词:d型,
值:[]
};
用于(d中的var prop){
如果(道具!=“类型”){
obj.values.push({
[道具]:d[道具]
})
}
}
返回obj;
});
console.log(嵌套)