셸에서의 데이터 처리
Susan Sun
Data Person
csvkit:
Python 패키지 관리자 pip로 csvkit을 설치합니다:
pip install csvkit
csvkit을 최신 버전으로 업그레이드:
pip install --upgrade csvkit
전체 안내:
웹 문서:
https://csvkit.readthedocs.io/en/latest/scripts/in2csv.html
명령행 도움말:
in2csv --helpin2csv -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 SpotifyData.xlsx > SpotifyData.csv
엑셀의 첫 번째 시트를 콘솔에 출력하며 저장하지 않습니다.
in2csv SpotifyData.xlsx
>는 출력을 리다이렉트하여 SpotifyData.csv로 저장합니다.
> SpotifyData.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는 콘솔에 로그를 출력하지 않습니다.
in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv
확인:
ls
SpotifyData.xlsx Spotify_Popularity.csv backup bin
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 Spotify_Popularity.csv
| track_id | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki | 7 |
| 6S7cr72a7a8RVAXzDCRj6m | 7 |
| 7h2qWpMJzIVtiP30E8VDW4 | 7 |
| 3KVQFxJ5CWOcbxdpPYdi4o | 7 |
| 0JjNrI1xmsTfhaiU1R6OVc | 7 |
| 3HjTcZt29JUHg5m60QhlMw | 7 |
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 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)
셸에서의 데이터 처리