Leer y actualizar hojas de cálculo de Google en Python

Contenidos

Visión general

  • Más información sobre cómo configurar una cuenta de servicio de Google
  • Leer y escribir datos en hojas de cálculo de Google con Python

Introducción

La automatización del trabajo ha sido una de las formas más rápidas de alcanzar la eficiencia funcional. Además, en la era actual en la que el éxito depende de la velocidad, la automatización de innumerables tareas repetitivas juega un papel clave en cualquier industria y en el nivel más básico de funcionalidad. Pero muchos de nosotros no entendemos cómo automatizar algunas tareas y terminamos en el ciclo de hacer las mismas cosas manualmente nuevamente.

google-spreadsheets-with-python-8382133

Por ejemplo, a menudo pasamos horas al día extrayendo datos y luego copiando y pegando en hojas de cálculo y creando informes que conducen a un consumo excesivo de tiempo. En consecuencia, sería genial si simplemente ejecutamos un script, y los datos se cargan en la hoja de cálculo y el informe se prepara con solo un clic. Existen múltiples ventajas de la automatización de informes, como que podría ahorrar tiempo en la recopilación de datos y eliminar errores tipográficos, y el enfoque estaría más en la parte del análisis.

En este artículo, veremos un proceso paso a paso para configurar una cuenta de servicio de Google. Usaremos las API de Google para leer los datos de las hojas de cálculo de Google usando Python y también actualizaremos los datos en la hoja de cálculo usando Python. Vamos a leer los datos de los comentarios de cricket de la hoja de cálculo y averiguaremos el número de carreras anotadas por cada bateador y luego cargaremos los resultados en una hoja de cálculo separada.

En caso de que no esté familiarizado con Python, eche un vistazo a nuestro curso gratuito Introducción a Python

Tabla de contenido

  1. Crear cuenta de servicio de Google
  2. Leer datos de Hojas de cálculo de Google
  3. Actualizar datos en Hojas de cálculo de Google

Crear cuenta de servicio de Google

Para leer y actualizar los datos de las hojas de cálculo de Google en Python, tendremos que crear un Cuenta de servicio. Es un tipo especial de cuenta que se utiliza para realizar llamadas API autorizadas a Google Cloud Services. En primer lugar, asegúrese de tener una cuenta de Google. Si tiene una cuenta de Google, puede seguir estos pasos para crear una cuenta de servicio de Google.

  1. Ve a la consola del desarrollador. Ahora verá algo como esto. Haga clic en el botón Crear proyecto.create_project-7148109
  2. Luego proporcione el nombre del proyecto y el nombre de la organización, que es opcional. Luego haga clic en el botón crear.new_project-6962763
  3. Ahora que nuestro proyecto está creado, necesitamos habilitar las API que requerimos en este proyecto. Haga clic en el botón Habilitar API y servicios para buscar las API que proporciona Google.enable-api-1935483 En consecuencia, agregaremos dos API para nuestro proyecto.
    • API de Hojas de cálculo de Google
    • API de Google Drive
  4. Luego, en la barra de búsqueda, busque estas API y haga clic en el botón habilitar.screenshot-from-2020-07-22-18-24-55-9127809
  5. La API de Google Sheets se verá así. Le permitirá acceder a las hojas de cálculo de Google. Podrá leer y modificar el contenido presente en las hojas de cálculo.screenshot-from-2020-07-22-18-25-32-8335102
    La API de Google Drive se verá así. Le permitirá acceder a los recursos de Google Drive.screenshot-from-2020-07-22-18-27-28-1220449
  6. Una vez que haya habilitado las API requeridas en su proyecto, es hora de crear credenciales para la cuenta de servicio. Haga clic en el botón Crear credenciales para continuar.screenshot-from-2020-07-22-18-28-29-1548511

  7. Ahora, seleccione la API de Google Drive en el tipo de API requerida pregunta. Llamaremos a la API desde una plataforma no basada en UI, así que seleccione Otros que no son UI (por ejemplo, trabajo cron, demonio). Selecciona el Datos de la aplicación en la siguiente pregunta, ya que no necesitamos ningún dato de usuario para ejecutar nuestra aplicación. Y tampoco estamos utilizando ningún motor informático basado en la nube para nuestra aplicación. Finalmente, haga clic en el ¿Qué credenciales necesito? botón.screenshot-from-2020-07-22-18-35-40-3969854
  8. Luego, comparta las hojas de cálculo de Google con otras personas y proporcione permisos como editar o solo ver. Del mismo modo, proporcionaremos acceso a nuestra cuenta de servicio. Le daremos el acceso completo para que podamos leer y escribir las hojas de cálculo y descargar el archivo JSON de las credenciales.screenshot-from-2020-07-24-19-43-53-8468694

Ahora, se descargará un archivo JSON que contiene las claves para acceder a la API. Nuestra cuenta de servicio de Google está lista para usar. En la siguiente sección, leeremos y modificaremos los datos en la hoja de cálculo.

Leer datos de Hojas de cálculo de Google

Leeremos los datos de los comentarios del partido de cricket India Bangladesh. Puedes acceder a los datos aquí.

screenshot-from-2020-07-25-08-44-59-4828179

Tenemos datos bola a bola del partido completo en la hoja de cálculo. Ahora, haremos una tarea muy básica y calcularemos cuántas carreras puntúa cada uno de los bateadores. Podemos hacer esto usando un groupby simple en pandas. Y finalmente, subiremos los resultados en una hoja aparte.

Proporcionar acceso a la hoja de Google

Ahora, debemos proporcionar acceso a la hoja de Google para que la API pueda acceder a ella. Abra el archivo JSON que descargamos de la consola del desarrollador. Busca el correo_cliente en el archivo JSON y cópielo.

screenshot-from-2020-07-25-08-50-48-8300110

Luego haga clic en el botón Compartir en la hoja de cálculo y proporcione acceso a este correo electrónico de cliente.

screenshot-from-2020-07-27-19-16-32-6754926

Ahora, estamos listos para codificar y acceder a la hoja usando Python. Los siguientes son los pasos:

1. Importación de las bibliotecas

Usaremos el gspread y oauth2client servicio para autorizar y realizar llamadas API a Google Cloud Services.

Puede instalar las bibliotecas utilizando los siguientes comandos.

!pip3 install gspread
!pip3 install --upgrade google-api-python-client oauth2client 

2. Definir el alcance de la aplicación.

Luego, definiremos el alcance de la aplicación y agregaremos el archivo JSON que tiene las credenciales para acceder a la API.

3. Cree la instancia de hoja

Utilice el objeto cliente y abra la hoja. Solo necesita pasar el título de la hoja como argumento. Además, puede pasar la URL de la hoja si lo desea.

Acceder a hoja particular: Tenemos varias hojas en una sola hoja de cálculo. Puede acceder a determinadas hojas de cálculo de Google con Python proporcionando el índice de esa hoja en el get_worksheet función. Para la primera hoja, pase el índice 0 y así sucesivamente.

Funcionalidades basicas

La API proporciona algunas funcionalidades básicas, como el número de columnas, mediante el uso de col_count y obtener el valor en una celda en particular. A continuación se muestran algunos ejemplos de lo mismo.

4. Obtenga todos los registros

Luego, obtendremos todos los datos presentes en la hoja usando el get_all_records función. Devolverá una cadena JSON que contiene los datos.

screenshot-from-2020-07-25-10-21-41-8928475

5. Convierta el diccionario en el marco de datos

En ciencia de datos, pandas es una de las bibliotecas preferidas para realizar tareas de manipulación de datos. Entonces, primero convertiremos la cadena JSON al marco de datos de pandas.

En caso de que no se sienta cómodo con los pandas, le recomiendo que se inscriba en este curso gratuito: Pandas para análisis de datos en Python

screenshot-from-2020-07-25-10-32-45-3048974

6. Agrupación del bateador

Luego, crearemos un grupo por el número de carreras anotadas por un bateador y cargaremos ese marco de datos en la hoja separada.

screenshot-from-2020-07-25-10-33-10-1462356

Ahora, agregaremos este marco de datos a las hojas de Google.

Actualizar datos en Hojas de cálculo de Google

Los siguientes son pasos para actualizar los datos en las hojas de Google.

  1. Crear una hoja separada

    En primer lugar, crearemos una hoja separada para almacenar los resultados. Para eso, use el add_worksheet función y pasar el número de filas y columnas requeridas y el título de la hoja. Después de eso, obtenga la instancia de la segunda hoja proporcionando el índice que es 1.

    Una vez que ejecute este comando, verá que se crea una hoja separada.

    screenshot-from-2020-07-25-10-47-11-7071600

  2. Actualizar valores a la hoja

    Luego, convierta el marco de datos de ejecuciones en la lista 2-D y use la función para agregar valores en la hoja. Con esta única línea de código, puede actualizar la hoja. Luego, recibirá un mensaje de la cantidad de filas y columnas actualizadas con algunos detalles más.

    screenshot-from-2020-07-25-10-53-33-4081610

    screenshot-from-2020-07-25-10-55-25-4819621

Notas finales

Para resumir, en este artículo, nos sumergimos en la comprensión de varios pasos involucrados en el proceso de creación de una cuenta de servicio. Y cómo leer la escritura en las hojas de cálculo de Google directamente desde su consola de Python. Descargamos los datos de la hoja de cálculo y los convertimos en el marco de datos de pandas, creamos una tabla groupby y la cargamos nuevamente en la hoja de cálculo. Esta API puede resultar muy útil en la automatización de informes.

En caso de que desee repasar los conceptos de su hoja de cálculo, le recomiendo el siguiente artículo y curso:

Espero que esto le ayude a automatizar los scripts y a ahorrar mucho de su valioso tiempo. Comuníquese en la sección de comentarios en caso de dudas. Estaré encantado de ayudar.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.