Конвертировать многомерный массив JavaScript в CSV-файл - PullRequest
0 голосов
/ 17 мая 2019

В настоящее время я пытаюсь экспортировать массив 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";
});

Но, похоже, он не работает с таким многомерным массивом.

У кого-нибудь есть подсказка о рабочем решении?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 17 мая 2019

Это возможно, конечно. В вашем случае это немного усложняет то, что это трехмерный массив. Ну, в общем, вам просто нужно два цикла 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...