Как изменить объекты CSV на JSON в NodeJS

#javascript #node.js #csv

#javascript #node.js #csv

Вопрос:

Я пытаюсь изменить вывод файла csv на массив объектов, я использую библиотеку node-xlsx для получения значений файла csv и пытаюсь изменить его на массив объекта Json

Пример файла csv

 var csvData = [
  ["a", "b", "c", "d"], 
  [1, 2, 3, 4]
  [5, 6, 7, 8]
];
  

Файл JSON

 var data = [
  {
    a: 1,
    b: 2,
    c: 3,
    d: 4,
  },

  {
    a: 5,
    b: 6,
    c: 7,
    d: 8,
  },
];
  

Комментарии:

1. csv.js.org ?

2. Этот вопрос действительно не имеет никакого отношения к CSV или JSON. Я бы рекомендовал удалить эти аспекты из вашего вопроса и упростить это до того, что вы пытаетесь сделать. Вы уже проанализировали данные в соответствующие структуры. Теперь вам просто нужно сжать массив ключей в массив объектов по ключу / значению. Достаточно простого цикла.

3. да, вы правы, я хочу изменить объекты массива на json (csvData на данные)

Ответ №1:

Это не вопрос json или csv, вам просто нужно переместить данные из первого массива в тип данных ключ-значение. Я бы использовал такой цикл, как этот:

 data=[]; 
for(var i=1; i<csvData.length; i  ) {
    var obj={};
    for(var j=0; j<csvData[0].length; j  ) {
        obj[csvData[0][j]]=csvData[i][j];
    }
    data.push(obj);
}
  

Затем вы можете использовать JSON.stingify(данные), чтобы преобразовать его в строку JSON