Importar datos desde Google Spreadsheets en Python con Pandas

Publicado el 21 septiembre 2020 por Daniel Rodríguez @analyticslane

Posiblemente los dos formatos más utilizados para la exportación de conjuntos de datos sean los archivos CSV o libros de Excel. Para los que existen funciones de importación en Pandas. Ahora bien, otra herramienta muy popular en la actualidad es Google Spreadsheets, para la que actualmente no existe un método en Pandas. Aún así es posible importar datos desde Google Spreadsheets en Python con Pandas. Lo que se puede hacer exportando los datos o usando directamente la URL de un documento.

Exportación de la hoja de cálculo

Posiblemente la manera más sencilla es exportar la hoja de cálculo desde Google Spreadsheets a uno de los formatos conocidos por Pandas. Por ejemplo podemos exportar a formato de Microsoft Excel y utilizar el método pandas.read_excel() o exportar a un archivo CSV e importar los datos con pandas.read_csv().

Este es un método que podemos utilizar sí sabemos que los datos no van a cambiar. Pero en el caso de que estos se actualicen periódicamente y automatizar el análisis esta no es una buena opción. En esto casos deberíamos poder importar el archivo directamente desde una URL.

Publicar el contenido de la hoja de cálculo con Google Spreadsheets

Para poder acceder al contenido de una hoja de cálculo de Google Spreadsheets es necesario publicar esta. Algo que se puede hacer en la opción "Publicar en la Web" del menú Archivo.

Accediendo al menú "Publicar en la Web"

Una vez seleccionada esta opción nos aparecerá un asistente. En este seleccionaremos la opción "Enlace" y en la primera opción seleccionaremos lo que deseamos exportar. Todo el documento o solamente una parte de este. Como segunda opción seleccionaremos "Valores separados por comas (.csv)". Generando así un enlace en el que se encuentra un archivo en formato CSV.

Configurando la opción de publicación en Google Spreadsheets

Importar el archivo desde Google Spreadsheets en Python

Ahora que contamos con un enlace a un documento CSV, se puede utilizar el método pandas.read_csv() para importar el documento. Para ello solamente hay que indicar la URL que hemos obtenido en el paso anterior en lugar del archivo.

import pandas as pd

df = pd.read_csv(url)

Importar en otros formatos

Además de CSV también es posible publicar los datos desde Google Spreadsheets en TSV o Microsoft Excel. En tal caso solo deberíamos cambiar la función de importación a la correspondiente.

Incluso si ya disponemos de la URL en un formato, solo hay que cambiar al final de esta el valor de la opción output por el que deseemos. Pudiendo descargar en cualquiera de los formatos compatibles.

Conclusiones

Hoy hemos visto cómo podemos importar datos desde Google Spreadsheets en Python con Pandas. Un proceso que es relativamente sencillo, ya que se pueden usar las URL de publicación de este servicio para acceder a los datos. Aunque estos se actualicen periódicamente.

Imagen de Lalmch en Pixabay