-
터미널에서 대용량 CSV 파일을 빠르고 효율적으로 처리할 수 있는 Rust 기반 도구
- 다양한 데이터 조작 기능 외에도 표시, 시각화, 분석, 웹 스크래핑, 텍스트 처리, 네트워크 분석까지 지원
- 내부적으로는 고성능을 위해 멀티스레딩, 표현식 언어, 병렬 처리를 활용
- 초대형 CSV (기가바이트급) 파일도 문제없이 처리 가능
- Python이나 Lua보다 훨씬 빠른 전용 표현식 언어 제공
-
단일 명령어 체이닝으로 복잡한 데이터 흐름 구현 가능
- 간단한 통계부터 히트맵, 히스토그램 등 기초 시각화까지 가능
- 사회과학 연구자 및 웹 데이터 분석을 위한 고급 기능 포함
- Linux, macOS, Windows 모두 지원
-
.tsv
, .psv
, .ssv
, .gz
등 다양한 포맷 자동 인식
핵심 명령어 예
-
탐색
-
xan headers
: 컬럼 목록 출력
-
xan view
: 터미널에서 테이블 형태로 보기
-
xan flatten
: 한 행의 모든 값을 펼쳐 보기
-
xan hist
, xan plot
, xan heatmap
: 시각화 기능
-
필터링 & 검색
-
xan search -s 키워드 파일.csv
: 특정 키워드 포함 행 찾기
-
xan filter '조건식' 파일.csv
: 표현식으로 행 필터링
-
변형
-
xan select
: 컬럼 선택
-
xan map
: 표현식으로 새 컬럼 생성
-
xan transform
: 기존 컬럼을 표현식으로 변경
-
집계 및 분석
-
xan count
: 행 개수 세기
-
xan frequency
: 빈도수 테이블 생성
-
xan stats
: 기술 통계 출력
-
xan agg
: 사용자 정의 집계
-
xan groupby
: 그룹 단위로 집계 수행
-
정렬 & 중복 제거
-
xan sort -s 컬럼
: 정렬
-
xan dedup -s 컬럼
: 중복 제거
-
조합
-
xan join
: 키를 기준으로 조인
-
xan merge
: 정렬된 파일 병합
-
xan cat
: 행 또는 열 기준으로 연결
-
표현식 언어
-
xan map 'fmt("{} ({})", name, foundation_year)' key
-
xan filter 'batch > 1'
-
xan transform name 'split(name, ".") | first | upper'
- 표현식 언어는 CSV 조작에 특화된 경량 DSL로, 공식 문서에서 치트시트, 함수 목록, 집계 함수 목록 참고 가능
-
시각화 기능
-
xan hist
: 텍스트 기반 히스토그램
-
xan plot
: 스캐터플롯/라인차트
-
xan heatmap
: 상관관계 히트맵
-
xan view -p
: 터미널에 전체 테이블 표시
고급 기능
-
표준 입력/출력 파이프라인 완벽 지원
-
gzip 압축 파일 자동 처리
-
스크래핑 DSL 내장 (HTML → CSV 변환)
-
lexicometry, fuzzy matching 지원:
tokenize
, vocab
, cluster
-
네트워크/행렬 변환:
network
, matrix