Primeros pasos con csvkit

Procesamiento de datos en Shell

Susan Sun

Data Person

¿Qué es csvkit?

csvkit:

  • es un conjunto de herramientas de línea de comandos
  • está desarrollado en Python por Wireservice
  • ofrece funciones de procesamiento y limpieza de datos en archivos CSV
  • tiene capacidades que rivalizan con Python, R y SQL
  • documentación: https://csvkit.readthedocs.io/en/latest/
Procesamiento de datos en Shell

Instalación de csvkit

Instala csvkit con el gestor de paquetes de Python pip:

pip install csvkit

Actualiza csvkit a la última versión:

pip install --upgrade csvkit

Instrucciones completas:

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

Procesamiento de datos en Shell

Explorar el manual de csvkit

Procesamiento de datos en Shell

in2csv: convertir archivos a CSV

Documentación web:

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

Documentación en la línea de comandos:

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]
Procesamiento de datos en Shell

in2csv: convertir archivos a CSV

Sintaxis:

in2csv SpotifyData.xlsx > SpotifyData.csv

Imprime la primera hoja de Excel en la consola y no guarda

in2csv SpotifyData.xlsx

> redirige la salida y la guarda como un nuevo archivo SpotifyData.csv

> SpotifyData.csv
Procesamiento de datos en Shell

in2csv: convertir archivos a CSV

Usa la opción --names o -n para listar todas las hojas en SpotifyData.xlsx.

in2csv -n SpotifyData.xlsx
Worksheet1_Popularity
Worksheet2_MusicAttributes

Usa la opción --sheet seguida de la hoja "Worksheet1_Popularity" a convertir.

in2csv SpotifyData.xlsx --sheet "Worksheet1_Popularity" > Spotify_Popularity.csv
Procesamiento de datos en Shell

in2csv: convertir archivos a CSV

in2csv no muestra logs en la consola.

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

Comprobación rápida:

ls
SpotifyData.xlsx  Spotify_Popularity.csv  backup  bin
Procesamiento de datos en Shell

csvlook: vista previa en la línea de comandos

csvlook: muestra un CSV en la línea de comandos con formato de ancho fijo compatible con Markdown

Documentación:

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]
Procesamiento de datos en Shell

csvlook: vista previa en la línea de comandos

Sintaxis:

csvlook Spotify_Popularity.csv
| track_id               | popularity |
| ---------------------- | ---------- |
| 118GQ70Sp6pMqn6w1oKuki |          7 |
| 6S7cr72a7a8RVAXzDCRj6m |          7 |
| 7h2qWpMJzIVtiP30E8VDW4 |          7 |
| 3KVQFxJ5CWOcbxdpPYdi4o |          7 |
| 0JjNrI1xmsTfhaiU1R6OVc |          7 |
| 3HjTcZt29JUHg5m60QhlMw |          7 |
Procesamiento de datos en Shell

csvstat: estadísticas descriptivas en CSV

csvstat: imprime estadísticas descriptivas de todas las columnas del CSV (p. ej., media, mediana, recuento de valores únicos)

Documentación:

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]
Procesamiento de datos en Shell

csvstat: estadísticas descriptivas en CSV

Sintaxis:

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)
Procesamiento de datos en Shell

¡Vamos a practicar!

Procesamiento de datos en Shell

Preparing Video For Download...