【问题标题】:How to convert CSV data to paring array data using javascript?如何使用 javascript 将 CSV 数据转换为配对数组数据?
【发布时间】:2010-09-09 07:47:25
【问题描述】:

我正在尝试将 CSV 数据转换为配对数组数据,但我对 javascript 完全陌生,我现在不知道该怎么做。有人知道吗? 提前致谢!

CSV 数据:

year,USA,EU,UK,China,India
2003,10882,10970,1795,1575,599
2002,10383,9040,1564,1434,510
2001,10020,8303,1430,1345,479
2000,9762,8234,1438,1252,457
1999,9213,8901,1460,1158,447
1998,8720,8889,1423,1148,414

对象数组数据:

[{
  label: "USA",
  data: [[2003, 10882],
   [2002, 10383],
   [2001, 10020],
   [2000, 9762],
   [1999, 9213],
   [1998, 8720]]
 },

 {
  label: "EU",
  data: [[2003, 10970],
   [2002, 9040],
   [2001, 8303],
   [2000, 8234],
   [1999, 8901],
   [1998, 8889]]
 },

 {
  label: "UK",
  data: [[2003, 1795],
   [2002, 1564],
   [2001, 1430],
   [2000, 1438],
   [1999, 1460],
   [1998, 1423]]
 },

 {
  label: "China",
  data: [[2003, 1575],
   [2002, 1434],
   [2001, 1345],
   [2000, 1252],
   [1999, 1158],
   [1998, 1148]]
 },

 {
  label: "India",
  data: [[2003, 599],
   [2002, 510],
   [2001, 479],
   [2000, 457],
   [1999, 447],
   [1998, 414]]
 }]

【问题讨论】:

  • 必须是Javascript吗?可以使用服务器端语言吗?

标签: javascript csv


【解决方案1】:

您需要使用.split("\n") 函数拆分行,使用它您将得到这个数组

['year,USA,EU,UK,China,India',
'2003,10882,10970,1795,1575,599',
'2002,10383,9040,1564,1434,510',
'2001,10020,8303,1430,1345,479',
'2000,9762,8234,1438,1252,457',
'1999,9213,8901,1460,1158,447',
'1998,8720,8889,1423,1148,414']

现在你在, 再次迭代这个数组.split。完成后你应该得到这个:

[
    ['year','USA','EU','UK','China','India'],
    ['2003','10882','10970','1795','1575','599'],
    ['2002','10383','9040','1564','1434','510'],
    ['2001','10020','8303','1430','1345','479'],
    ['2000','9762','8234','1438','1252','457'],
    ['1999','9213','8901','1460','1158','447'],
    ['1998','8720','8889','1423','1148','414']
]

现在你所要做的就是在一个两层嵌套的 for 循环中迭代 this,并从中构建你想要的对象。

【讨论】:

  • 非常感谢!你能给我一个例子来说明如何做吗?
  • 不客气 :) 尝试使用split 函数试一试,并测试两个嵌套循环的东西,如果失败或者你不能做,你可以询问它.
猜你喜欢
  • 2020-05-12
  • 2022-06-24
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多