Javascript 如何在csv对象数据中插入头,以便使用d3.js进行管理
我正在从csv文件中获取数据,以便使用d3.js进行管理。现在,我想得到没有头部的数据,并通过JavaScript代码插入。头部示例:Javascript 如何在csv对象数据中插入头,以便使用d3.js进行管理,javascript,csv,d3.js,Javascript,Csv,D3.js,我正在从csv文件中获取数据,以便使用d3.js进行管理。现在,我想得到没有头部的数据,并通过JavaScript代码插入。头部示例: date,type,brand,model,price 2014-11-27, electric, tesla, model s , 100000 2014-11-27, diesel, bmw, m3, 90000 2014-12-13, hybrid, toyota, yaris , 20000 我希望获得不带标题的数据,如: 2014-11-27
date,type,brand,model,price
2014-11-27, electric, tesla, model s , 100000
2014-11-27, diesel, bmw, m3, 90000
2014-12-13, hybrid, toyota, yaris , 20000
我希望获得不带标题的数据,如:
2014-11-27, electric, tesla, model s , 100000
2014-11-27, diesel, bmw, m3, 90000
2014-12-13, hybrid, toyota, yaris , 20000
我得到的数据如下:
d3.csv("fileOrURLpath", function(error, data) {...});
// My header
var headers = ["date","type","brand","model","price"].join(",");
// First I get the file or URL data like text
d3.text("myPath", function(error, data) {
// Then I add the header and parse to csv
data = d3.csv.parse(headers +"\n"+ data); ... });
我尝试插入标头,生成数组并将标头推入[0],如下所示:
cars[0]= {
date:"",
type:"",
brand:"",
model:"",
price:""
};
它不起作用。仅适用于[0]中的第一个
有没有办法添加标题?没有你,我什么也做不了
已编辑
如果文件没有标题,我就不能使用d3.csv。感谢@LarsKotthoff提供的信息
现在我试着:
var headers = ["date","type","brand","model","price"].join(",");
d3.text("myPath", function(error, data) {
data = d3.csv.parse(headers + data); ... });
但仍然不能很好地工作。结果是这样的:
Object
" 177 ": undefined
" 7": undefined
" seat": undefined
" toledo": undefined
model: " bengaluru"
brand: " in"
date: Sat Dec 13 2014 00:00:00 GMT+0100 (Hora estándar romance)
type: 7
index: 0
price: NaN
price2014-11-27: " 160 "
我找到了解决办法。感谢@LarsKotthoff的帮助 最后,我得到如下数据:
d3.csv("fileOrURLpath", function(error, data) {...});
// My header
var headers = ["date","type","brand","model","price"].join(",");
// First I get the file or URL data like text
d3.text("myPath", function(error, data) {
// Then I add the header and parse to csv
data = d3.csv.parse(headers +"\n"+ data); ... });
希望能有帮助 如果文件没有标题,则不能再使用
d3.csv
。您必须使用例如d3.text
检索文件,然后自己将行解析为CSV。让标题保持在原位要容易得多。是的,我几分钟前看到了,谢谢。但我试着这样做:var headers=[“日期”、“类型”、“品牌”、“型号”、“价格”]。join(“,”);d3.text(“myPath”,function(error,data){data=d3.csv.parse(headers+data);
但是它会让人抓狂,输出不正确并且失败。有没有办法修复它?你需要在headers后面加一个换行符。你的意思是什么?我怎么做?好的。我理解了!谢谢!data=d3.csv.parse(headers+“\n”+data);