gpt4 book ai didi

javascript - D3 : How do I parse a CSV string into an object where keys are column names and values are arrays of data?

转载 作者:行者123 更新时间:2023-11-30 15:38:43 26 4
gpt4 key购买 nike

我想使用 D3 v3.5.6 将 CSV 字符串转换为 Javascript 对象,其中列名是键,它们的数据在数组中。

到目前为止我的 JS:

var csvString= 'date,dow,sp500,nasdaq\n1/1/16,10,15,8\n1/3/16,5,3,7\n1/5/16,12,18,12\n';
var headers = []
d3.csv.parse(csvString, function(data){
headers = d3.keys(data);
});

这会用列名字符串填充数组 headers,但我不知道如何获取数据。

我想做一个这样的对象:

{
"date": ["1/1/16","1/3/16","1/5/16"],
"dow": ["10","5","12"],
...
}

仅使用 D3 是否可行?

这是易于阅读的 CSV 字符串:

date,dow,sp500,nasdaq
1/1/16,10,15,8
1/3/16,5,3,7
1/5/16,12,18,12

最佳答案

嗯,除了d3.csv.parse(),这个问题在我看来跟D3关系不大,用纯JavaScript就可以解决:

var csvString = 'date,dow,sp500,nasdaq\n1/1/16,10,15,8\n1/3/16,5,3,7\n1/5/16,12,18,12\n';

var data = d3.csv.parse(csvString);

var headers = d3.keys(data[0]);

var myObject = {};

headers.forEach(function(d) {
myObject[d] = [];
});

data.forEach(function(d) {
for (var key in d) {
myObject[key].push(d[key]);
}

});

console.log(myObject);
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>

关于javascript - D3 : How do I parse a CSV string into an object where keys are column names and values are arrays of data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41154231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com