如何在 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,  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) {...});

我尝试插入标题制作数组并将标头推入 [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的帮助。

最后我得到这样的数据:

// 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); ... });

希望对您有所帮助!

最新更新