我从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.Purchased
,d.Date_Purchased
,d.Date-Purchased
),但这并不是&#39 ;似乎也工作。
我可以编写一个简单的php解析器来删除空格,但感觉有一个简单的解决方案可以在JavaScript / d3中使用,我只是错过了它。
答案 0 :(得分:5)
以下是
d.date = parseDate(d['Date Purchased']);