无法引用从头文件中带空格的csv文件导入的d3.js数据

时间:2014-02-11 23:11:50

标签: javascript csv d3.js

我从csv文件导入数据,该文件包含在某些字段中间带空格的标题。

例如,以下内容中有一个名为' Date Purchased';

的列
Value,Date Purchased,Score
12345,2011-03-23,99
22345,2011-03-24,100
32345,2011-03-25,99
42345,2011-03-26,100

我知道RFC 4180指出这是正常的;

  

在标题和每条记录中,可能有一个或多个字段,   被逗号隔开。每行应包含相同的数字   整个文件中的字段。空间被认为是场地的一部分   不应该被忽视。

但是当我然后使用d3.csv函数导入数据时,我需要引用“已购买的数据”#39;列以一种允许空间的方式。下面的脚本将是最基本的解决方案,但JavaScript不允许在变量名称中使用空格(我知道这似乎很明显,但我试图在逻辑上拼写这个)

d3.csv("sample-data.csv", function(error, data) {
    data.forEach(function(d) {
        d.date = parseDate(d.Date Purchased);
    });

console.log(data)表示正在导入文件时没有任何问题,而且“< 39; Data Purchased'列被称为'数据已购买'。

我找到的参考文献建议包含小数点,下划线或连字符而不是空格(d.Date.Purchasedd.Date_Purchasedd.Date-Purchased),但这并不是&#39 ;似乎也工作。

我可以编写一个简单的php解析器来删除空格,但感觉有一个简单的解决方案可以在JavaScript / d3中使用,我只是错过了它。

1 个答案:

答案 0 :(得分:5)

以下是

d.date = parseDate(d['Date Purchased']);