Przetwarzanie danych w wierszu poleceń
Susan Sun
Data Person
csvstack: łączy wiersze z dwóch lub więcej plików CSV
Dokumentacja:
csvstack -h
usage: csvstack [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
[-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-S] [-H]
[-n GROUP_NAME] [--filenames]
Złącz dwa podobne pliki Spotify_Rank6.csv i Spotify_Rank7.csv w jeden.
Podgląd danych w celu sprawdzenia schematu:
csvlook Spotify_Rank6.csv
| track_id | popularity |
| ---------------------- | ---------- |
| 7JYCpIzpoidDOnnmxmHwtj | 6 |
| 0mmFibEg5NuULMwTVN2tRU | 6 |
csvlook Spotify_Rank7.csv
| track_id | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki | 7 |
| 6S7cr72a7a8RVAXzDCRj6m | 7 |
Składnia:
csvstack Spotify_Rank6.csv Spotify_Rank7.csv > Spotify_AllRanks.csv
csvlook Spotify_AllRanks.csv
| track_id | popularity |
| ---------------------- | ---------- |
| 7JYCpIzpoidDOnnmxmHwtj | 6 |
| 0mmFibEg5NuULMwTVN2tRU | 6 |
| 118GQ70Sp6pMqn6w1oKuki | 7 |
| 6S7cr72a7a8RVAXzDCRj6m | 7 |
csvstack -g "Rank6","Rank7" \
Spotify_Rank6.csv Spotify_Rank7.csv > Spotify_AllRanks.csv
csvlook Spotify_AllRanks.csv
| group | track_id | popularity |
| ----- | ---------------------- | ---------- |
| Rank6 | 7JYCpIzpoidDOnnmxmHwtj | 6 |
| Rank6 | 0mmFibEg5NuULMwTVN2tRU | 6 |
| Rank7 | 118GQ70Sp6pMqn6w1oKuki | 7 |
| Rank7 | 6S7cr72a7a8RVAXzDCRj6m | 7 |
csvstack -g "Rank6","Rank7" -n "source" \
Spotify_Rank6.csv Spotify_Rank7.csv > Spotify_AllRanks.csv
csvlook Spotify_AllRanks.csv
| source| track_id | popularity |
| ----- | ---------------------- | ---------- |
| Rank6 | 7JYCpIzpoidDOnnmxmHwtj | 6 |
| Rank6 | 0mmFibEg5NuULMwTVN2tRU | 6 |
| Rank7 | 118GQ70Sp6pMqn6w1oKuki | 7 |
| Rank7 | 6S7cr72a7a8RVAXzDCRj6m | 7 |
; łączy polecenia i wykonuje je sekwencyjnie
csvlook SpotifyData_All.csv; csvstat SpotifyData_All.csv
&& łączy polecenia, ale drugie wykonuje się tylko wtedy, gdy pierwsze zakończy się sukcesem
csvlook SpotifyData_All.csv && csvstat SpotifyData_All data.csv
> przekierowuje wynik pierwszego polecenia do lokalizacji wskazanej jako drugie
in2csv SpotifyData.xlsx > SpotifyData.csv
| przekazuje wynik pierwszego polecenia jako wejście do drugiego
Przykład:
Wynik csvcut nie jest dobrze sformatowany:
csvcut -c "track_id","danceability" Spotify_MusicAttributes.csv
track_id,danceability
118GQ70Sp6pMqn6w1oKuki,0.787
6S7cr72a7a8RVAXzDCRj6m,0.777
7h2qWpMJzIVtiP30E8VDW4,0.795
3KVQFxJ5CWOcbxdpPYdi4o,0.815
Przykład (ciąg dalszy):
Sformatuj wynik csvcut, przekazując go potokiem do csvlook:
csvcut -c "track_id","danceability" Spotify_Popularity.csv | csvlook
| track_id | danceability |
| ---------------------- | ------------ |
| 118GQ70Sp6pMqn6w1oKuki | 0.787 |
| 6S7cr72a7a8RVAXzDCRj6m | 0.777 |
| 7h2qWpMJzIVtiP30E8VDW4 | 0.796 |
| 3KVQFxJ5CWOcbxdpPYdi4o | 0.815 |
Przetwarzanie danych w wierszu poleceń