En este artículo, he explicado cómo escribir datos (marco de datos) de python a hojas de Google y cómo leer datos ya existentes de hojas de google a Python (en forma de marco de datos de pandas).
Creación del marco de datos en Python
Estoy escribiendo este artículo en continuación con el artículo anterior Cómo leer datos de API en Python. Puede consultar ese artículo y crear un marco de datos a partir de los datos obtenidos de la API o puede usar el código siguiente para crear un marco de datos.
Hay varios métodos para crear un marco de datos en Python usando pandas. El que vamos a utilizar aquí es dictado de narración/listas:
#Import the required package
import pandas as pd
# intialise data of lists.
data = {'Name':['India', 'China', 'USA', 'Russia'], 'Population (In crores)':[133.92, 138.64, 32.72, 14.45]}
# Create DataFrame
df = pd.DataFrame(data)
df.head()
Una vez que haya creado su marco de datos, el siguiente paso será importar el paquete python pygsheets. Antes de comenzar con la importación del paquete en python y comenzar a leer y escribir datos en hojas de cálculo de Google, tenemos que autorizar lo mismo desde Google. Para hacerlo, puede consultar la documentación oficial de pygsheets para su autorización, esto le proporcionará una guía paso a paso.
Una vez tengamos el archivo de autorización de la API de google, tendremos un ID de correo electrónico del cliente mencionado en el archivo. Para permitir que los pygsheets lean / escriban en la hoja de google en particular, tendremos que otorgar acceso de lectura y escritura a esta identificación de correo electrónico. Una vez hecho esto, nuestro código Python podrá leer y escribir datos de esa hoja de google en particular.
Leer de hojas de cálculo de Google en Python
El primer paso que hará para leer desde hojas de cálculo de Google es que debe tener esa hoja de cálculo de Google disponible en su unidad. He creado una nueva hoja de google llamada «Test Google Sheet». He compartido este archivo con el id de correo electrónico que obtuve en el archivo client.json y he otorgado permiso de edición a este ID de correo electrónico.
Ahora escribiremos nuestro código python para exportar los valores en la hoja de google como marco de datos a python.
#Import Pygsheets Python package.
import pygsheets
#Authorization
gc = pygsheets.authorize(service_file='pygsheets.json')
#Open the google spreadsheet
sh = gc.open('Test Google Sheet')
#Define which sheet to open in the file
wks = sh[0]
#Get the data from the Sheet into python as DF
read = wks.get_as_df()
#Print the head of the datframe
read.head()
Cada código ha sido explicado con el comentario para que sea más fácil de entender. He nombrado mi archivo de autorización como «pygsheets.json», por lo que he mencionado lo mismo en el proceso de autorización. También necesitamos seleccionar la hoja desde donde necesitamos importar los datos. Aquí está la salida de este código.
Escribir desde google sheet en Python
Ahora ya tenemos algunos datos en nuestra hoja de Google que querremos borrar, entonces querríamos agregar nuestro marco de datos, que creamos anteriormente para escribir en «Probar hoja de cálculo de Google». Para borrar los datos ya existentes en la hoja, utilizaremos la función clear().
#In order to clear all the data in the sheet.
wks.clear()
Una vez tengamos nuestra hoja despejada. Podemos escribir el código para escribir el marco de datos ya creado.
#We will use set_dataframe() in pygsheets to write df data into GS
wks.set_dataframe(df,(1,1)) #(Row_Number, Column_Number)
Usando set_dataframe() en pygsheets escribimos el df ya creado de python a Google Sheets. En la función set_dataframe(a,b), a es el marco de datos que queremos escribir y b es el número de fila y el número de columna donde queremos escribir. Intentemos de nuevo leer los datos de nuestra hoja y veamos lo que tenemos ahora.
#Get the data from the Sheet into python as DF
read = wks.get_as_df()
#Print the head of the datframe
read.head()
Aquí está la salida para el mismo:
Puede haber muchas aplicaciones prácticas de esta característica, por mencionar algunas que he utilizado personalmente son:
- Estoy recopilando datos de contaminación del aire de data.gov.in utilizando la API proporcionada por ellos. La API proporciona datos cada hora. Cada hora obtengo nuevos datos (aproximadamente 1240 filas). Como no hay otra forma de obtener horas previas de datos, uso la hoja de cálculo de Google para agregar los nuevos datos debajo de los datos de la última hora.
- En mi última empresa, utilicé este método para automatizar el proceso de llamadas. Solíamos llamar a algunos clientes en función de algunos parámetros, los detalles de estos clientes se obtenían de la base de datos, lo que hice con el uso de Python, luego se actualizó en una hoja de google (que era nueva para todos los días). Esta hoja fue referida por agentes llamando, que usan para llamar a estas personas y las respuestas de ellos fueron almacenadas en la misma hoja por cada agente. Al día siguiente, se agregaron nuevos datos y los datos ya existentes se agregaron en la hoja de registro de Google.
Mas contenido en http://millev.com/blog
Ayudamos a las empresas a elevar su valor con el aporte de especialistas en Analítica,
Diseño y Desarrollo de Soluciones, Control de Calidad y Consultoría Tecnologica.
Ayudamos a las empresas a elevar su valor con el aporte de especialistas en Analítica,
Diseño y Desarrollo de Soluciones, Control de Calidad y Consultoría Tecnologica.