CSV 파일을 JSON 출력으로 변환해야 합니다. csvtojason 라이브러리를 사용하고 있습니다.https://www.npmjs.com/package/csvtojson,csv 파일:
모드, 장치, 셋톱박스, 데이터, 데이터1, 데이터2, 데이터3, 데이터4 모델 1, 기기 1, 셋톱박스 1, 데이터 1, 데이터 2, 데이터 3, 데이터 4 모델 1, 장치 2, stb1, 데이터 1, 데이터 2, 데이터 3, 데이터 4 modelo2, 장치 1, stb1, 데이터 1, 데이터 2, 데이터 3, 데이터 4 modelo2, 장치 1, stb2, 데이터 1, 데이터 2, 데이터 3, 데이터 4 모델로2, 장치2, stb1, 데이터1, 데이터2, 데이터3, 데이터4 모델로2, 장치2, stb2, 데이터1, 데이터2, 데이터3, 데이터4 모델로2, 장치2, stb3, 데이터1, 데이터2, 데이터3, 데이터4
json을 변환하는 코드
csv = 요구('csvtojson') csvFilePath = './CSVFile.csv' .csv() .fromFile(csv 파일 경로) .then((jsonObj) => { Console.log(jsonObj) res.send(jsonObj); })
그러나 출력은 내가 기대했던 것과는 거리가 멀다.
[ { 모델: 'modelo1', 장치: 'device1', STB: 'STB1', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo1', 장치: 'device2', STB: 'STB1', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo2', 장치: 'device1', STB: 'STB1', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo2', 장치: 'device1', STB: 'STB2', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo2', 장치: 'device2', STB: 'STB1', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo2', 장치: 'device2', STB: 'STB2', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터 3: '데이터 4' }, {모드: 'modelo2', 장치: 'device2', 셋톱박스: '셋톱박스 3', 데이터: '데이터1', 데이터1:'데이터2', 데이터2:'데이터3', 데이터3:'데이터4'}]
나는 다음과 같은 것을 얻을 것으로 기대합니다 :
[{ 모델 1: { 장치 1: { stb1:[데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] } 장치 2: { stb1:[데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] } } 모델 2: { 장치 1: { stb1: [데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] stb2: [데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] } 장치 2: { stb1: [데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] stb2: [데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] stb3: [데이터:'데이터1',데이터2:'데이터2',데이터3:'데이터3',데이터4:'데이터4'] } } }]
이를 수행하는 쉬운 방법이 있는지 알고 계십니까?
답변1
답을 찾았습니다. D3 라이브러리를 사용하면 매우 간단합니다.
https://d3js.org/d3-collection.v1.min.js
내 .js 파일에서:
var groupedJson = d3.nest()
.key(function (d) { return d.model; })
.key(function (d) { return d.device; })
.key(function (d) { return d.stb; })
.entries(json);
console.log(groupedJson);