tacosdedatos

Cover image for datasette 101: ¿pa qué?
Sergio Sánchez
Sergio Sánchez

Posted on

datasette 101: ¿pa qué?

datasette es una herramienta en python para trabajar con bases de datos SQLite y en pocas palabras, es la mejor herramienta para explorar y publicar datos. Es ligera, tiene un ecosistema próspero de plugins y otras herramientas hermanas y es fácil de utilizar.

Desde el sitio oficial,

Datasette es una herramienta para explorar y publicar datos. Ayuda a las personas a tomar datos de cualquier forma o tamaño, analizarlos y explorarlos, y publicarlos como un sitio web interactivo y una API adjunta.

Datasette está dirigida a periodistas de datos, conservadores de museos, archiveros, gobiernos locales y cualquier otra persona que tenga datos que desee compartir con el mundo. Forma parte de un ecosistema más amplio de herramientas y plugins dedicados a hacer que el trabajo con datos estructurados sea lo más productivo posible.

En esta serie introductoria vamos a explorar varias funciones de datasette a un alto nivel y ojalá te anime a explorarlo mas a fondo si te parece útil 🤓

Instalación

Puedes instalar datasette desde el Python Packaging Index a.k.a. PyPI utilizando pip

pip install -U datasette
Enter fullscreen mode Exit fullscreen mode

sobre el -U

La bandera -U en para el comando pip significa upgrade. Si haz instalado datasette previamente lo va a actualizar a la versión mas reciente. Si no lo tenías instalado, simplemente lo instala. Mas info: https://pip.pypa.io/en/latest/cli/pip_install/#cmdoption-U

instalación avanzada

Puedes instalar datasette utilizando homebrew y tiene una imagen de Docker si así lo prefieres. Esta serie es introductoria así que no vamos a profundizar en ese aspecto pero puedes visitar la documentación oficial: https://docs.datasette.io/en/stable/installation.html

Uso

Al instalarlo podrás utilizar el comando datasette en tu línea de comandos.

datasette mi_base_de_datos.db
Enter fullscreen mode Exit fullscreen mode

Este comando le dice a datasette "la base de datos que quiero que utilices se encuentra en esta carpeta y se llama mi_base_de_datos.db"

Bases de datos SQlite

Las bases de datos de SQLite son mucho más comunes de lo que crees - tu computadora tiene varias. Tu celular también. Pero cuando trabajamos con datos es muy común recibirlos en otro formato como lo es CSV.

Si trabajas con datos y python puede que sepas como abrir un archivo CSV con pandas y guardarlo en una base de datos SQLite pero no es necesario. Parte de lo que hace datasette la gran herramienta que es es el ecosistema en el que existe. Una herramienta hermana de datasette es csvs-to-sqlite - otra pequeña herramienta de la línea de comando que hace lo que dice: convierte CSVs a SQlite.

Para hacerlo primero hay que instalarla

pip install -U csvs-to-sqlite
Enter fullscreen mode Exit fullscreen mode

💡 cuidado

Existe otra herramienta llamada csv-to-sqlite, en singular. Esa no es la que queremos, asegurate de escribirlo bien: csvs-to-sqlite

con csvs-to-sqlite puedes transformar uno o mas archivos CSV en tablas de una base de datos SQLite fácilmente.

Ejemplo

Para ilustrar todo este proceso descargamos datos sobre el nivel de alfabetización de mujeres entre 15 y 24 años en varios países de Gapminder

La tabla se ve así:
tabla de excel mostrando porcentages de alfabetización en el mundo para mujeres de 15 a 24 años

📊 sobre los datos

Los datos los descargamos desde el sitio de Gapminder pero son datos oficiales de la Unesco: http://data.uis.unesco.org/

Para transformar este CSV a una tabla en SQLite simplemente navegamos a la carpeta con nuestro CSV y ejecutamos

csvs-to-sqlite literacy_rate_youth_female_percent_of_females_ages_15_24.csv datos.db
Enter fullscreen mode Exit fullscreen mode

Esto va a crear una base de datos SQLite llamada datos.db a partir del CSV llamado literacy_rate_youth_female_percent_of_females_ages_15_24.csv

¡Y listo!
terminal mostrando como transformamos csvs a sqlite

Utilizando datasette

Teniendo tu base de datos en formato SQLite solo tienes que ejecutar

datasette datos.db
Enter fullscreen mode Exit fullscreen mode

Y visitar en tu navegador http://localhost:8001/ y podrás ver el poder de datasette 🤓

En las siguientes partes de esta serie aprendermos como:

  • Agregar plugins a tu instancia de datasette
  • Agregar metadata (como la fuente de tus datos y canned queries o consultas guardadas)
  • Desplegar tus datos en Heroku

¡Hasta la próxima!

Discussion (0)