D3解析CSV文件时遇到问题

时间:2013-11-18 15:40:52

标签: parsing csv d3.js

我在CSV文件中有以下数据(dataSpGDP.csv):

date    germanyCASH germanySERVICE  germanyTAX  spainCASH   spainSERVICE spainTAX   franceCASH  franceSERVICE   franceTAX   italyCASH   italySERVICE
2005    1.43    2.17    3.04    0.45    1.14    1.24    1.39    3.02    3.79    0.58    1.3
2007    1.09    1.83    2.74    0.52    1.23    1.47    1.29    2.96    3.68    0.63    > 1.38
2009    1.16    2.05    3.07    0.67    1.52    1.77    1.44    3.2     3.98    0.78    1.58

在我的脚本标签中,我试图像这样解析这些数据:

`d3.csv("dataSpGDP.csv", function(error, dataSpGDP) {
  dataSpGDP.forEach(function(d) {
  d.date = parseDate(d.date);
  d.germanyCASH = +d.germanyCASH;
  d.germanySERVICE = +d.germanySERVICE;
  d.germanyTAX = +d.germanyTAX;
  d.spainCASH = +d.spainCASH;
  d.spainSERVICE = +d.spainSERVICE;
  d.spainTAX = +d.spainTAX;
  d.franceCASH = +d.franceCASH;
  d.franceSERVICE = +d.franceSERVICE;
  d.franceTAX = +d.franceTAX;
  d.italyCASH = +d.italyCASH;
  d.italySERVICE = +d.italySERVICE;
});`

..我正在尝试将此数据赋予变量“dataSpGDP”,以便我可以在其他功能中使用它 - 例如绘制条形图和线条。 但这不起作用。

我的CSV文件是否正确?或者我之后是否需要逗号?

date,   germanyCASH,    germanySERVICE, germanyTAX, spainCASH,  spainSERVICE,   spainTAX,   franceCASH, franceSERVICE,  franceTAX,  italyCASH,  italySERVICE,
2005,   1.43,   2.17,   3.04,   0.45,   1.14,   1.24,   1.39,   3.02,   3.79,   

...等

我是否应该在此代码之后写入访问dataSpGDP变量的所有其他函数之后关闭dv.csv函数? 感谢

1 个答案:

答案 0 :(得分:2)

documentationd3.csv要求输入符合RFC4180(也就是逗号分隔的值格式文件)。您的输入看起来不像是以逗号分隔的字段,因此我怀疑您可能会发现d3.tsv支持制表符分隔的字段,或者支持任意分隔符的d3.dsv可以获得更多成功。