การซ้อนข้อมูลและการเชื่อมคำสั่งด้วย csvkit

การประมวลผลข้อมูลบน Command Line

Susan Sun

Data Person

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

csvstack: ซ้อนแถวจากไฟล์ CSV ตั้งแต่สองไฟล์ขึ้นไป

เอกสารอ้างอิง:

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]
การประมวลผลข้อมูลบน Command Line

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

ซ้อนไฟล์ Spotify_Rank6.csv และ Spotify_Rank7.csv เข้าด้วยกัน

ดูตัวอย่างข้อมูลเพื่อตรวจสอบ schema:

csvlook Spotify_Rank6.csv
| track_id               | popularity |
| ---------------------- | ---------- |
| 7JYCpIzpoidDOnnmxmHwtj |          6 |
| 0mmFibEg5NuULMwTVN2tRU |          6 |
การประมวลผลข้อมูลบน Command Line

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

csvlook Spotify_Rank7.csv
| track_id               | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki |          7 |
| 6S7cr72a7a8RVAXzDCRj6m |          7 |
การประมวลผลข้อมูลบน Command Line

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

ไวยากรณ์:

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 |
การประมวลผลข้อมูลบน Command Line

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

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 |
การประมวลผลข้อมูลบน Command Line

csvstack: การซ้อนไฟล์ CSV หลายไฟล์

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 |
การประมวลผลข้อมูลบน Command Line

การเชื่อมคำสั่ง command-line

; เชื่อมคำสั่งและรันตามลำดับ

csvlook SpotifyData_All.csv; csvstat SpotifyData_All.csv

&& เชื่อมคำสั่ง แต่รันคำสั่งที่ 2 เฉพาะเมื่อคำสั่งที่ 1 สำเร็จ

csvlook SpotifyData_All.csv && csvstat SpotifyData_All data.csv
การประมวลผลข้อมูลบน Command Line

การเชื่อมคำสั่ง command-line

> เปลี่ยนเส้นทางผลลัพธ์จากคำสั่งที่ 1 ไปยังตำแหน่งที่ระบุเป็นคำสั่งที่ 2

in2csv SpotifyData.xlsx > SpotifyData.csv
การประมวลผลข้อมูลบน Command Line

การเชื่อมคำสั่ง command-line

| ใช้ผลลัพธ์ของคำสั่งที่ 1 เป็น input ของคำสั่งที่ 2

ตัวอย่าง:

ผลลัพธ์ของ csvcut ยังไม่ได้จัดรูปแบบ:

csvcut -c "track_id","danceability" Spotify_MusicAttributes.csv
track_id,danceability
118GQ70Sp6pMqn6w1oKuki,0.787
6S7cr72a7a8RVAXzDCRj6m,0.777
7h2qWpMJzIVtiP30E8VDW4,0.795
3KVQFxJ5CWOcbxdpPYdi4o,0.815
การประมวลผลข้อมูลบน Command Line

การเชื่อมคำสั่ง command-line

ตัวอย่าง (ต่อ):

จัดรูปแบบผลลัพธ์ของ csvcut โดย pipe ไปยัง 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 |
การประมวลผลข้อมูลบน Command Line

มาฝึกกันเถอะ!

การประมวลผลข้อมูลบน Command Line

Preparing Video For Download...