Node.js CLI 도구로 CSV/Excel/JSON 파일 미리보기 개발 가이드
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

CSV, Excel, JSON 파일 미리보기 CLI 도구 개발 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • Node.js 초보자 및 CLI 도구 개발자
  • 데이터 파일 처리 및 파일 형식 분석에 관심 있는 개발자
  • 난이도: 중간 (Node.js 모듈 사용 및 파일 처리 기초 지식 필요)

핵심 요약

  • csv-parser, xlsx, cli-table3 모듈을 활용한 파일 형식 자동 감지 및 미리보기 기능 구현
  • process.argvpath.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 도구 개발의 실무적 적용 사례