D3读取csv/tsv文件,如果列名是数字
d3 reading csv/tsv files if column names are numbers?
使用世界银行的数据进行一个项目。他们的数据是这样组织的,在他们的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将不起作用。如何解释列名中的空格,如所示?如何在文档本身或控制台中正确显示元素?
我为这么多问题道歉。请随时指导我解决方案。谢谢。感谢Lars的回答。我将附加我想要做的下一步。现在,如果我想用这些数据制作一个线形图,我该如何访问生成的对象数组呢?同样,我只想要特定国家的200+元素数组。
您可以通过使用访问属性的替代语法来解决所有这些问题——而不是
d.foo
你可以写
d["foo"]
这也适用于空格,数字等:
d["11111"]
d["string with spaces"]
相关文章:
- 如果元素's的ID以数字开头
- 如果数字已插入排序数组,则获取该数字的索引
- 对象获胜'如果qml中的其他地方定义了数字动画属性,则t设置动画
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 为什么 JavaScript 如果一个数字有一个前导零,就将其视为八进制
- 如果类中的数字大于0,请使用JavaScript更改CSS背景
- 如果数字以1结尾,做点什么
- 如果数字超过 10,则将数字重置为 1
- 如果数字在两个数字之间加/减 10 添加类
- 如果数字为=到25
- 如果数字小于零,而负数将其隐藏jquery
- 在Javascript中,如果数字超过8位,如何将其四舍五入到8位
- 为什么我只得到2和3作为假?(如果数字是素数,则返回true)
- 如果数字大于无线电值的值,则更改样式
- 计算如果数字字符串循环|十六进制网格圆形世界
- 如果数字小于10,则显示前导零
- 如果数字不是双精度值,则无法显示最多两个十进制值的双精度类型值
- 仅验证数字,但如果数字仅为0则不允许
- 如果数字大于1000,Javascript计算不起作用
- 正则表达式有一个例外 - 如果数字是下一个符号,则不要匹配所有内容