首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript/D3.JS -将CSV列项转换为JS列表

Javascript/D3.JS -将CSV列项转换为JS列表
EN

Stack Overflow用户
提问于 2014-01-31 01:37:19
回答 2查看 1.6K关注 0票数 0

我有包含4个字段的CSV文件:

地址、经度、纬度、几何学 1,2,3,4 5,6,7,8

我想创建一个列表,只选择“几何”字段。

这能给我们完整的名单吗?

代码语言:javascript
复制
d3.csv("file.csv", function(collection) {
..

var mydata=collection.geometry;

..
});
EN

回答 2

Stack Overflow用户

发布于 2014-01-31 06:21:19

要从对象列表中提取单个属性,可以使用以下map方法:

代码语言:javascript
复制
var temp = "Address,longitude,latitude,geometry\n"+
"1,2,3,4\n5,6,7,8\n2,3,4,5\n6,7,8,9";

var t = d3.csv.parse(temp);
console.log(t.map(function(d){return d.geometry;}));

演示Fiddle

票数 4
EN

Stack Overflow用户

发布于 2014-01-31 03:21:53

如果几何学是csv文件中的列,则不能直接从d3.csv函数的结果中选择它。由d3表读取函数创建的数据对象是表示csv文件的每一行的对象数组。

所以对于csv文件地址,经度,纬度,几何123主St,90,50,几何字符串A 22百老汇,92,51,几何字符串B

输出是

代码语言:javascript
复制
[
 { "Address":"123 Main St", 
   "longitude":"90",  
   "latitude":"50",  
   "geometry":"geometry string A"},
 { "Address":"22 Broadway",  
   "longitude":"92",  
   "latitude":"51",  
   "geometry":"geometry string B"}
]

要获得一个只包含几何字符串的数组,可以使用阵列映射函数

代码语言:javascript
复制
d3.csv("file.csv", function(collection) {
   ...

   var mydata=collection.map( function(d){return d.geometry;} );

   ...
});

现在,mydata是一个字符串数组,仅表示csv文件的“几何图形”列。

我刚看到@arete的回答。这与读取文件的方式基本相同,除非映射是在读取文件的同时完成的,并且只有这一列被传递给回调函数。(尽管注意,它仍然作为对象数组返回,而不是字符串数组。)

如果您没有使用文件中的任何其他数据,那么对于大型数据集来说,这可能会稍微快一些。但是,有了这个版本,如果程序的其他部分需要完整的数据收集,您仍然可以访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21471019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档