csvkit 시작하기

셸에서의 데이터 처리

Susan Sun

Data Person

csvkit이란?

csvkit:

  • 커맨드라인 도구 모음입니다.
  • Wireservice가 Python으로 개발했습니다.
  • CSV 파일의 처리와 정리를 지원합니다.
  • 데이터 기능은 Python, R, SQL에 필적합니다.
  • 문서: https://csvkit.readthedocs.io/en/latest/
셸에서의 데이터 처리

csvkit 설치

Python 패키지 관리자 pip로 csvkit을 설치합니다:

pip install csvkit

csvkit을 최신 버전으로 업그레이드:

pip install --upgrade csvkit

전체 안내:

https://csvkit.readthedocs.io/en/latest/tutorial.html.

셸에서의 데이터 처리

csvkit 매뉴얼 살펴보기

셸에서의 데이터 처리

in2csv: 파일을 CSV로 변환

웹 문서:

https://csvkit.readthedocs.io/en/latest/scripts/in2csv.html

명령행 도움말:

in2csv --help

in2csv -h
usage: in2csv [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
              [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE]
              [-S] [--blanks] [--date-format DATE_FORMAT]
              [--datetime-format DATETIME_FORMAT] [-H] [-K SKIP_LINES] [-v]
셸에서의 데이터 처리

in2csv: 파일을 CSV로 변환

구문:

in2csv SpotifyData.xlsx > SpotifyData.csv

엑셀의 첫 번째 시트를 콘솔에 출력하며 저장하지 않습니다.

in2csv SpotifyData.xlsx

>는 출력을 리다이렉트하여 SpotifyData.csv로 저장합니다.

> SpotifyData.csv
셸에서의 데이터 처리

in2csv: 파일을 CSV로 변환

--names 또는 -n 옵션으로 SpotifyData.xlsx의 모든 시트 이름을 출력합니다.

in2csv -n SpotifyData.xlsx
Worksheet1_Popularity
Worksheet2_MusicAttributes

변환할 시트를 지정하려면 --sheet 옵션 뒤에 "Worksheet1_Popularity"를 사용합니다.

in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv
셸에서의 데이터 처리

in2csv: 파일을 CSV로 변환

in2csv는 콘솔에 로그를 출력하지 않습니다.

in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv

확인:

ls
SpotifyData.xlsx  Spotify_Popularity.csv  backup  bin
셸에서의 데이터 처리

csvlook: 커맨드라인에서 데이터 미리보기

csvlook: CSV를 마크다운 호환 고정폭 형식으로 커맨드라인에 렌더링합니다.

문서:

csvlook -h
usage: csvlook [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
               [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE]
               [-S] [--blanks] [--date-format DATE_FORMAT]
셸에서의 데이터 처리

csvlook: 커맨드라인에서 데이터 미리보기

구문:

csvlook Spotify_Popularity.csv
| track_id               | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki |          7 |
| 6S7cr72a7a8RVAXzDCRj6m |          7 |
| 7h2qWpMJzIVtiP30E8VDW4 |          7 |
| 3KVQFxJ5CWOcbxdpPYdi4o |          7 |
| 0JjNrI1xmsTfhaiU1R6OVc |          7 |
| 3HjTcZt29JUHg5m60QhlMw |          7 |
셸에서의 데이터 처리

csvstat: CSV 데이터의 기술 통계

csvstat: CSV의 모든 열에 대한 기술 통계를 출력합니다(예: 평균, 중앙값, 고유값 수).

문서:

csvstat -h
usage: csvstat [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
               [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-S] [-H]
               [-K SKIP_LINES] [-v] [-l] [--zero] [-V] [--csv] [-n]
셸에서의 데이터 처리

csvstat: CSV 데이터의 기술 통계

구문:

csvstat Spotify_Popularity.csv
  1. "track_id"

        Type of data:          Text
        Contains null values:  False
        Unique values:         24
        Longest value:         22 characters
        Most common values:    118GQ70Sp6pMqn6w1oKuki (1x)
                               6S7cr72a7a8RVAXzDCRj6m (1x)
셸에서의 데이터 처리

csvkit을 직접 해봅시다

셸에서의 데이터 처리

Preparing Video For Download...