엑셀 표를 정리한 후 csv파일로 내보내기
csv파일을 json으로 변환
전체코드
const fs = require('fs');
const csvFile = fs.readFileSync('./src/assets/ia-csv2.csv').toString();
let json = [];
let keys = [];
let list = [];
const csvArr = csvFile.replace('\r','').split('\n');
const header = csvArr[0].split(',');
keys[0]='worklist-status';
for (let k=0; k<header.length; k++){
keys[1+k] = header[k];
}
keys[keys.length]='worklist-path';
keys[keys.length]='worklist-note';
for (let i=1; i<csvArr.length; i++){
let obj = {};
const row = csvArr[i].split(',');
obj['worklist-status']='';
for (let k=0; k<header.length; k++){
obj[header[k]] = row[k];
}
obj['worklist-path']='';
obj['worklist-note']='';
list.push(obj);
}
json = JSON.stringify({'keys':keys, 'lists':list});
fs.writeFileSync('./src/assets/ia-json.json',json)
node fs를 이용해 csv파일을 읽는다
const fs = require('fs');
const csvFile = fs.readFileSync('./src/assets/ia-csv2.csv').toString();
thead에 해당하는 keys와 리스트 lists를 구분하여 담는다
keys와 lists를 담을 json 변수도 만든다
let json = [];
let keys = [];
let list = [];
csv파일은 쉼표(,)와 줄바꿈으로 구분되어있다
1depth, 2depth, 페이지명칭, TYPE, PAGE ID
메인 , 뉴스. , , PAGE, PC-1000
엔터(/r)을 삭제하고 줄바꿈(/n) 기준으로 한 줄씩 배열로 변환한다
const csvArr = csvFile.replace('\r','').split('\n');
첫번째 열(thead)를 keys에 넣기위해 쉼표(,)로 나눠서 배열로 변환
header의 첫번째에 상태(진행중,완료 등), 마지막 두 열은 파일위치 및 링크표시와 비고란을 추가하여 keys에 담는다.
명칭의 중복을 피하기위해 worklist- 접두사를 추가했다.
화면에 출력할때는 적절한 명칭으로 변환하여 랜딩할 예정
const header = csvArr[0].split(',');
keys[0]='worklist-status';
for (let k=0; k<header.length; k++){
keys[1+k] = header[k];
}
keys[keys.length]='worklist-path';
keys[keys.length]='worklist-note';
csvArr 리스트 한줄씩 header의 타이틀과 매칭하여 객체 형식으로 만든다 {'1depth':'메인', '2depth':'', , ,}
for (let i=1; i<csvArr.length; i++){
let obj = {};
const row = csvArr[i].split(',');
obj['worklist-status']='';
for (let k=0; k<header.length; k++){
obj[header[k]] = row[k];
}
obj['worklist-path']='';
obj['worklist-note']='';
list.push(obj);
}
담아둔 keys와 lists를 묶는다
json = JSON.stringify({'keys':keys, 'lists':list});
fs를 이용하여 json파일로 생성
fs.writeFileSync('./src/assets/ia-json.json',json)
이 실행파일을 convert.js로 저장하여
node로 파일을 실행해주면 파일변환과 생성이 완료된다
node convert.js
최초 IA문서를 필요한 부분만 간추려 엑셀로 수정하고 csv파일로 변환하여 ./src/assets/폴더에 넣은뒤
node convert.js를 실행하면 동일한 폴더에 ia-json.json 파일이 생성된다
'STUDY > vuejs' 카테고리의 다른 글
[vue: worklist 제작] 2. 변환된 json으로 1Depth 단위로 테이블 그리기(3) (0) | 2022.10.04 |
---|---|
[vue: worklist 제작] 2. 변환된 json으로 1Depth 단위로 테이블 그리기(2) (0) | 2022.09.28 |
[vue: worklist 제작] 2. 변환된 json으로 1Depth 단위로 테이블 그리기(1) (0) | 2022.09.23 |
[vue: worklist 제작] - 계획 (0) | 2022.09.14 |
vue에서 sass 파일로 사용하기 (0) | 2022.09.14 |