2017-04-14 99 views
0

我有一些代码从CSV文件中读取信息。这些信息涉及道路交通事故。使用d3从CSV文件中读取信息,如何将特定类型的值存储到变量中?

enter image description here

这样的代码,我可以用目标值为 'd [' 天气状况 ']',这给了我 -

enter image description here

这是伟大的!但我实际上想要做的是将特定类型的值存储在变量中。例如,所有等于“没有大风的精细”的值都将被存储在像'var windy'之类的对象中,或者类似的东西,反正我可以简单地这样做吗?

*更新

一些示例数据 enter image description here

任何帮助,将不胜感激。谢谢

+0

你可以添加你的数据看起来像一个样? – sparta93

+0

Hi @ sparta93,ive在csv中添加了数据的屏幕?够了吗? – Treeno1

回答

0

现在,在您的代码中,您只需打印控制每次遇到数据集时遇到的每种天气状况。

如果您想根据天气情况对数据进行分组,您可以使用d3.nest()

下面的例子使用一些简单的json数据来展示如何做到这一点。在这里,使用d3.nest(),我们将关键设置为天气条件和值作为对象。

结构后,您的数据进行分组,您可以通过运行下面的脚本检查: 与rainy所有的事故将根据关键rainy与同为所有其他天气条件。

var data = [{ 
 
    "Weather Condition": "rainy", 
 
    "property1": "val1", 
 
    "property2": "val2" 
 
}, { 
 
    "Weather Condition": "sunny", 
 
    "property1": "val1", 
 
    "property2": "val2" 
 
}, { 
 
    "Weather Condition": "sunny", 
 
    "property1": "val1", 
 
    "property2": "val2" 
 
}]; 
 

 
// put the snippet below in your d3.csv function 
 
var expensesByName = d3.nest() 
 
    .key(function(d) { 
 
    return d["Weather Condition"]; 
 
    }) 
 
    .entries(data); 
 

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

+0

多数民众赞成在此非常感谢,但有没有办法直接从csv文件做到没有进一步操纵?即转换为JSON。它是一个非常大的数据集,有数千个项目... – Treeno1

+0

你不需要将任何东西转换成'json'。这只是为了向你展示分组是如何工作的,而且我没有任何示例csv文件方便。只需在'd3.csv'函数中放入'd3.nest'函数即可。 – sparta93

+0

多数民众赞成在brill,谢谢! – Treeno1

相关问题