#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