使用世界银行的数据开展一个项目。他们的数据经过组织,在 csv 中将各个年份作为列名称。除了可能更改名称之外,我将如何使用 d3.csv 访问它们并将它们映射到自定义数组中,因为我不会使用所有值。
例如,我使用的文件是每个国家/地区的 GDP。每个元素/行的格式如下
"Country Name","Country Code","Indicator Name","Indicator Code", "1960","1961","1962","1963","1964","1965","1966","1967","1968","1969","1970","1971","1972","1973","1974","1975","1976","1977","1978","1979","1980","1981","1982","1983","1984","1985","1986","1987","1988","1989","1990","1991","1992","1993","1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013",
如果我想要英国、巴西、中国、俄罗斯、美国等国家 2004-2012 年的 GDP 值,我该怎么做?
代码看起来像这样吗
d3.csv(URL, function(d) {
return {
AttributeName : d.ColumnName
//Continues for all columns I need
};
});
同样,如果列名是实际整数,则 d.ColumnName 将不起作用。我将如何解释所示的列名称中的空格? 我还如何在文档本身或控制台中正确显示元素?
对于这么多问题,我深表歉意。请随时指导我找到解决方案。谢谢。
感谢拉尔斯的回答。我将附加我想做的下一步。现在,如果我想使用这些数据制作折线图,我将如何访问生成的对象数组?同样,我只想要 200 多个元素数组中的特定国家/地区。
最佳答案
您可以通过使用访问属性的替代语法来解决所有这些问题 - 而不是
d.foo
你可以写
d["foo"]
这也适用于空格、数字等:
d["11111"]
d["string with spaces"]
关于javascript - 如果列名是数字,d3 读取 csv/tsv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22376317/