Javascript d3.csv地图数据作为一个数组
我目前正在使用dc.js、crossfilter.js和d3.js来呈现一些可视化效果。我在这里和这里找到了一个非常类似的帖子Javascript d3.csv地图数据作为一个数组,javascript,csv,d3.js,dc.js,Javascript,Csv,D3.js,Dc.js,我目前正在使用dc.js、crossfilter.js和d3.js来呈现一些可视化效果。我在这里和这里找到了一个非常类似的帖子 我的目标是解析我的csv,对于某个列,将其解析为每个对象行中的数组。例如,我有: 我的数据目前显示为: [{2011财年,项目名称:“项目1”,类别:“水果”,子类别:“草莓、芒果”,总计:1510}, {2011财年,项目名称:“项目2”,类别:“水果”,子类别:“橙子、芒果”,总计:100}, {2011财年,项目名称:“项目2”,类别:“蔬菜”,子类别:“芹菜”,
我的目标是解析我的csv,对于某个列,将其解析为每个对象行中的数组。例如,我有: 我的数据目前显示为:
[
{2011财年,项目名称:“项目1”,类别:“水果”,子类别:“草莓、芒果”,总计:1510},
{2011财年,项目名称:“项目2”,类别:“水果”,子类别:“橙子、芒果”,总计:100},
{2011财年,项目名称:“项目2”,类别:“蔬菜”,子类别:“芹菜”,总计:100}
] 但我希望数据的格式如下: [
{2011财年,项目名称:“项目1”,类别:“水果”,子类别:[“草莓”、“芒果”,总计:1510},
{2011财年,项目名称:“项目1”,类别:“水果”,子类别:[“橙子”、“芒果”],总数:100},
{2011财年,项目名称:“项目1”,类别:“蔬菜”,子类别:[“芹菜”,总计:100}
] 这是我可以放在data.forEach(函数(d))中的东西吗
我不认为这是正确的,它只是不起作用,但我在这里得到的是,这是一件需要在本专栏中重复做的事情,特别是这样,我可以在以后将子类别作为标签进行分类。。有什么想法/反馈吗
提前非常感谢D3已经介绍了这一点,D3.csv的格式是:
D3.csv(url[,accessor][,callback])
,其中accessor是为csv中的每一行调用的函数,用于转换数据。试试这个:
d3.csv("data.csv", function(d) {
return {
FY: +d.FY,
total: +d.total,
category: d.category,
subcategory: d.subcategory.split(/,/)
};
});
d3.csv("data.csv", function(d) {
return {
FY: +d.FY,
total: +d.total,
category: d.category,
subcategory: d.subcategory.split(/,/)
};
});