Recopilación de datos con formularios de Google y Pandas

En este artículo, discutiremos cómo recopilar datos de los formularios de Google usando Pandas. 

Módulos necesarios

  • pydrive: se utiliza para simplificar muchas tareas comunes de la API de Google Drive. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install pydrive
  • xlrd: este módulo se utiliza para extraer datos de una hoja de cálculo. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install xlrd
  • openpyxl : esta es una biblioteca de Python para leer y escribir Excel. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install openpyxl

Empezando

La primera parte importante de todo el proceso es crear un Formulario de Google. Visita este enlace y crea un nuevo formulario.

Creación de formularios en Google Forms

Cuando hayamos terminado de configurar las preguntas, haga clic en el botón Enviar para publicar el formulario. Para acceder a este formulario de Google, haga clic aquí.

El siguiente paso es autenticar nuestra secuencia de comandos de Python y el entorno local con Google y acceder a los datos del formulario de Google desde Google Drive habilitando la API de Google Drive en Google Cloud Platform. Sigue estos pasos:

  1. Ir al formulario de Google
  2. Pestaña de respuestas,
  3. Haga clic en el icono de la hoja de cálculo
  4. Y cree una nueva hoja de cálculo de destino para nuestro formulario de Google.

Vincular una nueva hoja de cálculo y un formulario de Google

Esta hoja de cálculo se creará y almacenará en Google Drive. Tenemos que integrar Google Drive y Python Environment. Primero, tenemos que autenticarnos con Google.

Autenticación de la API de Google Drive

Ahora, para trabajar con la API de Google Drive, debemos configurar nuestra cuenta, habilitar la API de Google Drive y obtener nuestra clave client_secrets.json .

1. Vaya a Google Cloud Platform Console , haga clic en Nuevo proyecto/Proyectos → Nuevo proyecto, en la barra de herramientas de GCP.

Haga clic en el Nombre del proyecto y luego seleccione Nuevo proyecto

2. Introduzca un nombre para nuestro proyecto y haga clic en Crear.

Creación de un Proyecto GCP

3. En la pantalla de inicio de nuestro proyecto, haga clic en la barra de navegación en la esquina superior izquierda y haga clic en API y servicios, y seleccione la pantalla de consentimiento de OAuth. 

Navegación a la pantalla de consentimiento de Oauth

4. En la página de inicio de la pantalla de consentimiento de OAuth, seleccione Externo y haga clic en Crear

Paso inicial de autenticación

5. En la siguiente pantalla, ingrese los detalles obligatorios que incluyen el nombre de la aplicación, el correo electrónico de soporte al usuario y la información de contacto del desarrollador. Haga clic en «Guardar y continuar» y vaya a la página de resumen.

Detalles de la aplicación

6. En la pantalla Resumen, haga clic en «Volver al panel». Ahora tendremos una opción para Publicar nuestra aplicación. Ahora estamos listos para enviar nuestra aplicación a producción.

Publicar nuestra App

7. Ahora que hemos publicado nuestra aplicación, haga clic en la barra de búsqueda y busque la API de Google Drive. Seleccione la API de Google Drive y habilite el Servicio.

Buscar el servicio API de Google Drive

Habilitar la API de Google Drive

8. Ahora que hemos publicado nuestra aplicación y habilitado la API de Google Drive, haga clic en la barra de navegación y, en API y servicios, seleccione Credenciales.

Crear credenciales

9. En la pantalla de ID de cliente de OAuth, seleccione el tipo de aplicación como aplicación de escritorio, ingrese el nombre y haga clic en Crear.

Crear ID de cliente de OAuth

9. Seremos redirigidos a la página de inicio de credenciales donde podremos encontrar nuestra ID de cliente de OAuth. Haga clic en la opción Descargar clave y guarde el archivo .JSON con el nombre client_secrets.json

Descarga la clave secreta

Nota: esta clave secreta y el archivo de Python creado a continuación deben estar presentes en el mismo directorio.

Implementación de Python:

Python3

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
import pandas as pd
  
# Initializing a GoogleAuth Object
gauth = GoogleAuth()
  
# client_secrets.json file is verified
# and it automatically handles authentication
gauth.LocalWebserverAuth()
  
# GoogleDrive Instance is created using
# authenticated GoogleAuth instance
drive = GoogleDrive(gauth)
  
# Initialize GoogleDriveFile instance with file id
file_obj = drive.CreateFile({'id': 'FILE_ID'})
file_obj.GetContentFile('FILE_NAME.xls',
         mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
  
dataframe = pd.read_excel('FILE_NAME.xls')
print(dataframe)

Nota: Las cuentas de Google utilizadas para la creación de formularios de Google y la autenticación GDrive del entorno de Python deben ser las mismas

Cuando ejecutamos el código, aparece una ventana de flujo de autenticación de Google en nuestro navegador web predeterminado. Tenemos que seleccionar nuestra Cuenta de Google y Continuar con el Flujo.

Selecciona nuestra cuenta de google

Haga clic en Avanzado -> Ir a la aplicación GFG (no seguro)

Tenemos que permitir el permiso y nuevamente hacer clic en Permitir en la pantalla siguiente.

Habilitar permiso para nuestra aplicación

Ahora recibiremos un mensaje en nuestro navegador que dice “ El flujo de autenticación se ha completado”. Y pasar a nuestro entorno de Python, podremos ver los datos en formato Pandas Dataframe.

Producción:

Marco de datos de Pandas obtenido en tiempo real desde el formulario de Google a través de la API de Google Drive

Publicación traducida automáticamente

Artículo escrito por therealnavzz y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *