CSV, Excel, JSON 파일 미리보기 CLI 도구 개발 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- Node.js 초보자 및 CLI 도구 개발자
- 데이터 파일 처리 및 파일 형식 분석에 관심 있는 개발자
- 난이도: 중간 (Node.js 모듈 사용 및 파일 처리 기초 지식 필요)
핵심 요약
csv-parser
,xlsx
,cli-table3
모듈을 활용한 파일 형식 자동 감지 및 미리보기 기능 구현process.argv
와path.extname()
을 통해 파일 확장자 기반의 자동 분석 구현cli-table3
를 사용한 터미널 내 표 형식 데이터 렌더링
섹션별 세부 요약
1. 프로젝트 초기 설정
npm init -y
로 프로젝트 초기화- 필요한 모듈(
csv-parser
,xlsx
,cli-table3
) 설치 preview.js
파일 생성 및 기본 CLI 인자 처리 로직 구현if (!filePath)
조건으로 파일 경로 누락 시 오류 처리
2. CSV 파일 파싱
csv-parser
모듈을 사용해 CSV 파일 스트리밍data
이벤트로 데이터 수집 후rowLimit
기준으로 최대 5행 제한renderTable()
함수로 테이블 렌더링
3. Excel 파일 파싱
xlsx
모듈을 통해.xlsx
파일 읽기sheet_to_json()
으로 시트 데이터 JSON 변환slice(0, rowLimit)
으로 행 제한 후 테이블 렌더링
4. JSON 파일 파싱
fs.readFileSync()
로 JSON 파일 읽기JSON.parse()
로 데이터 변환 후 배열 형식 확인slice(0, rowLimit)
으로 행 제한 후 테이블 렌더링
5. 테이블 렌더링
cli-table3
모듈로 테이블 생성Object.keys(data[0])
로 헤더 추출data.forEach()
로 행 데이터 추가 후 터미널 출력
6. 파일 형식 자동 감지
path.extname(filePath).toLowerCase()
로 확장자 추출.csv
,.xlsx
,.json
확장자에 따라parseCSV
,parseExcel
,parseJSON
함수 호출- 미지원 형식 시
console.error('Unsupported file type')
출력
결론
- CLI 도구로 CSV, Excel, JSON 파일의 첫 5행을 터미널에서 간편히 미리보기 가능
- 추가 기능 확장 예시:
--limit
CLI 인자로 행 수 조절, Markdown/HTML로 미리보기 내보내기, TSV/XML 지원 등 - Node.js에서 파일 처리 및 CLI 도구 개발의 실무적 적용 사례