Javascript/D3.JS-将CSV列项目转换为JS列表
我有包含4个字段的CSV文件: 地址、经度、纬度、几何图形Javascript/D3.JS-将CSV列项目转换为JS列表,javascript,csv,d3.js,Javascript,Csv,D3.js,我有包含4个字段的CSV文件: 地址、经度、纬度、几何图形 1,2,3,4 5,6,7,8 我想创建一个只选择“几何体”字段的列表 这给了我们全部的清单吗 d3.csv("file.csv", function(collection) { .. var mydata=collection.geometry; .. }); 假设您有一个http服务器服务于包含以下两个文件的目录: 您可以定义自定义函数来解析行的字段。基准对象包含一行中相应字段的所有值。只需访问数据的字段名,即可返回其属性映
1,2,3,4 5,6,7,8 我想创建一个只选择“几何体”字段的列表 这给了我们全部的清单吗
d3.csv("file.csv", function(collection) {
..
var mydata=collection.geometry;
..
});
假设您有一个http服务器服务于包含以下两个文件的目录: 您可以定义自定义函数来解析行的字段。基准对象包含一行中相应字段的所有值。只需访问数据的字段名,即可返回其属性映射到行内值的对象 因此,您可以如下定义您的函数 示例CSV:
field1,field2,field3
value1,value2,value3
value4,value5,value6
您可以传递的匿名函数:
function(datum,index)
{
var collectionObject = {};
collectionObject.someFieldName = datum.field2,
collectionObject.anotherFieldName = datum.field3
return collectionObject;
}
在您的情况下,您可以执行以下操作:
test.csv
address,longitude,latitude,geometry
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
index.html
<!DOCTYPE html>
<meta charset="utf-8">
<head>
</head>
<body>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var csv = d3.csv("test.csv", function(d)
{
return {geometry : d.geometry};
},
function(error, rows)
{
console.log(rows);
});
console.log(csv);
</script>
</body>
</html>
var csv=d3.csv(“test.csv”,函数(d)
{
返回{geometry:d.geometry};
},
函数(错误,行)
{
console.log(行);
});
console.log(csv);
假设您有一个http服务器为包含以下两个文件的目录提供服务:
您可以定义自定义函数来解析行的字段。基准对象包含一行中相应字段的所有值。只需访问数据的字段名,即可返回其属性映射到行内值的对象
因此,您可以如下定义您的函数
示例CSV:
field1,field2,field3
value1,value2,value3
value4,value5,value6
您可以传递的匿名函数:
function(datum,index)
{
var collectionObject = {};
collectionObject.someFieldName = datum.field2,
collectionObject.anotherFieldName = datum.field3
return collectionObject;
}
在您的情况下,您可以执行以下操作:
test.csv
address,longitude,latitude,geometry
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
"This","is","an","example"
index.html
<!DOCTYPE html>
<meta charset="utf-8">
<head>
</head>
<body>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script>
var csv = d3.csv("test.csv", function(d)
{
return {geometry : d.geometry};
},
function(error, rows)
{
console.log(rows);
});
console.log(csv);
</script>
</body>
</html>
var csv=d3.csv(“test.csv”,函数(d)
{
返回{geometry:d.geometry};
},
函数(错误,行)
{
console.log(行);
});
console.log(csv);
如果几何图形是csv文件中的一列,则不能直接从d3.csv
函数的结果中选择它。d3表格读取函数创建的数据对象是一个对象数组,表示csv文件的每一行
所以对于csv文件
地址、经度、纬度、几何图形
123主街,90,50,几何柱A
22百老汇,92,51,几何弦B
输出是
[
{ "Address":"123 Main St",
"longitude":"90",
"latitude":"50",
"geometry":"geometry string A"},
{ "Address":"22 Broadway",
"longitude":"92",
"latitude":"51",
"geometry":"geometry string B"}
]
要获取仅包含几何体字符串的单个数组,可以使用
现在,mydata
是一个字符串数组,仅表示csv文件的“几何体”列
顺便说一句,我刚看到阿雷特的回答。其工作方式大致相同,只是映射在读取文件的同时完成,并且只将一列传递给回调函数。(但请注意,它仍然作为对象数组返回,而不是字符串数组。)
如果您不使用文件中的任何其他数据,那么对于大型数据集,这可能会稍微快一点。但是,使用此版本,如果程序的其他部分需要,您仍然可以访问完整的数据集合。如果几何体是csv文件中的一列,则不能直接从
d3.csv
函数的结果中选择它。d3表格读取函数创建的数据对象是一个对象数组,表示csv文件的每一行
所以对于csv文件
地址、经度、纬度、几何图形
123主街,90,50,几何柱A
22百老汇,92,51,几何弦B
输出是
[
{ "Address":"123 Main St",
"longitude":"90",
"latitude":"50",
"geometry":"geometry string A"},
{ "Address":"22 Broadway",
"longitude":"92",
"latitude":"51",
"geometry":"geometry string B"}
]
要获取仅包含几何体字符串的单个数组,可以使用
现在,mydata
是一个字符串数组,仅表示csv文件的“几何体”列
顺便说一句,我刚看到阿雷特的回答。其工作方式大致相同,只是映射在读取文件的同时完成,并且只将一列传递给回调函数。(但请注意,它仍然作为对象数组返回,而不是字符串数组。)
如果您不使用文件中的任何其他数据,那么对于大型数据集,这可能会稍微快一点。但是,使用此版本,如果您的程序的其他部分需要完整的数据集合,您仍然可以访问它。要从对象列表中提取单个属性,您可以使用
映射
方法,如下所示:
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;}));
要从对象列表中提取单个属性,可以使用
map
方法,如下所示:
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;}));
如何将我的.csv文件直接加载到
var temp
?d3.parse(“data.csv”,function(data){temp=data;})
这就是您想要知道的吗?如何将我的.csv文件直接加载到var temp
?d3.parse(“data.csv”,function(data){temp=data;})这就是你想知道的吗?