我目前正在创建一个图表(来自外部csv文件的数据)但我事先并不知道列数和行数。您是否可以指出我在哪里可以找到一些有关此问题的帮助(或一些示例)?
谢谢
答案 0 :(得分:7)
d3.csv可以为您提供帮助:
d3.csv('myCSVFile.csv', function(data){
//the 'data' argument will be an array of objects, one object for each row so...
var numberOfRows = data.length, // we can easily get the number of rows (excluding the title row)
columns = Object.keys( data[0] ), // then taking the first row object and getting an array of the keys
numberOfCOlumns = columns.length; // allows us to get the number of columns
});
请注意,此方法假定电子表格的第一行(且仅第一行)是列标题。
答案 1 :(得分:2)
除了Tom P的建议之外,值得注意的是D3版本4引入了 columns 属性,您可以使用该属性创建列标题数组(即数据集的“键”)。
这很有用,因为(a)它的代码更简单,(b)数组中的标题与它们在数据集中出现的顺序相同。
因此,对于上述数据集:
headers = data.columns
...创建相同的数组:
headers = Object.keys(data[0])
...但是列名称数组是可预测的顺序。