【问题标题】:Convert multi-dimensionnal JavaScript Array into csv file将多维 JavaScript 数组转换为 csv 文件
【发布时间】:2019-05-17 11:38:01
【问题描述】:

我目前正在尝试将 Javascript 数组导出到 CSV 文件中,以便将其加载到 Excel 中。

数组是这样的:

var data = [
  [
    ['timestamp1', 'value1'], 
    ['timestamp2 ', 'value2']
  ],
  [
    ['timestamp1', 'value1'], 
    ['timestamp2 ', 'value2']
  ],
  [ 
    ['timestamp1', 'value1'], 
    ['timestamp2 ', 'value2']
  ]
];

我想要的结果是这样的:

t1 v1   t1 v1   t1 v1
t2 v2   t2 v2   t2 v2

我做了一些研究并尝试了一个例子:

var csvContent = '';
var dataString;
data. (function (infoArray) {
  dataString = infoArray.join(';');
  csvContent += dataString + "\n";
});

但它似乎不适用于这种多维数组。

有人知道可行的解决方案吗?

非常感谢。

【问题讨论】:

标签: javascript arrays excel csv


【解决方案1】:

这当然是可行的。在您的情况下使它变得更加困难的是它是一个三维数组。 好吧,基本上你只需要两个 for 循环并用元素组成一个字符串。

var data = [
  [
    ['timestamp1', 'value1'],
    ['timestamp2', 'value2']
  ],
  [
    ['timestamp1', 'value1'],
    ['timestamp2', 'value2']
  ],
  [
    ['timestamp1', 'value1'],
    ['timestamp2', 'value2']
  ]
];
var csvContent = "";
for (var a = 0; a < data[0].length; a++) {
  if (a != 0) {
    csvContent += "\n";
  }
  for (var b = 0; b < data.length; b++) {
    csvContent += data[b][a][0] + "," + data[b][a][1] + ",";
  }
}
console.log(csvContent);

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 1970-01-01
  • 2011-07-11
相关资源
最近更新 更多