Cómo leer y escribir en google hojas con python
Python es un lenguaje de programación excelente. La sintaxis puede parecer extraño e inusual, sin embargo, es fácil de aprender y utilizar. Alimenta Minecraft Pi Edición, junto con una gran cantidad de sitios web y proyectos de investigación académica.Aprender Python y Electrónica con Minecraft Pi EdiciónAprender Python y Electrónica con Minecraft Pi Edición¿Siempre has querido aprender a código, pero no sabía por dónde empezar? Aprender a controlar Minecraft en el Pi de frambuesa usando Python y algo de electrónica simples.Lee mas
En este artículo, voy a estar mostrando cómo leer y escribir en Hojas de cálculo utilizando Python. Asegúrese de leer nuestras razones por las programación Python no es inútil y nuestro Hojas cinco ajustes de Google que son esenciales para el trabajo en equipo. Ellos proporcionan algunos conocimientos útiles fondo.
Configuración de Google
Antes de saltar en el código, hay una cierta configuración inicial necesaria en las Hojas de Google.
En primer lugar, crear una nueva hoja de ti mismo. Puede omitir este paso si tiene uno ya configurado. Estoy usando una lista de coches de rally para este ejemplo:
Vídeo: Python Tutorial 35 - Leer Archivos
Ahora tiene que configurar sus opciones de uso compartido. Usted tendrá que generar Las credenciales firmadas, algo que suena más difícil de lo que es. Navegue hasta la consola de desarrolladores Google y crear un nuevo proyecto (o utilizar uno ya existente):
Dar a su proyecto y un nombre adecuado a continuación, haga clic crear:
Debajo API de Google Apps seleccionar Drive API:
Escoger Habilitar:
A continuación, seleccione Cartas credenciales en el menú de la izquierda:
Haga clic en la flecha pequeña en el crear credenciales botón:
A continuación, seleccione clave de cuenta de servicio:
Vídeo: Cómo leer y manipular archivos CSV con Python
Escoger cuenta de la aplicación de servicio por defecto del motor debajo cuenta de servicio y JSON como el formato:
Haga clic en Crear, y usted debe obtener una .JSON descarga de archivos. Mover esto en el directorio del proyecto y cambie su nombre creds.json. Por último, abra el archivo y busque client_email. Este debe ser el nombre de su proyecto en appspot.gserviceaccount.com. Compartir su Hoja de Google con esta dirección de correo electrónico (Parte superior derecha gt; Compartir gt; Ingrese correo electrónico).
Eso es todo por el lado de Google Drive.
Configuración del pitón
Hay dos versiones principales Python: 2.7 y 3.x Voy a estar utilizando 2.7, pero no importa realmente lo que usa. El wiki Python hace romper las diferencias si está interesado. Es posible que desee instalar un entorno virtual. Que está fuera del alcance de este artículo, pero las buenas prácticas.
Si está ejecutando Microsoft Windows, es posible que tenga que descargar e instalar Python. Mac OS viene con Python ya instalado. Como estoy usando un Mac, este proyecto se creó como tal. Usted debe ser capaz de seguir razonablemente bien en una máquina Windows o Linux. Asegúrese de leer nuestra guía en cuanto a si debe cambiar.Hey usuario de Windows, debe usted cambiar a Linux o Mac?Hey usuario de Windows, debe usted cambiar a Linux o Mac?¿Alguna vez considerar el cambio de Windows a Linux o Mac? La respuesta rápida: si estás en Windows, la estancia en Windows y no se preocupe acerca de la actualización por el momento. Este es el por qué.Lee mas
En primer lugar, abrir una nueva terminal. Usted tendrá que utilizar PIP para instalar algunos paquetes de Python. Se trata de una herramienta de recomendar que hace que sea muy fácil de manejar paquetes. Viene con Python.
Es necesario instalar un oauth2client. OAuth es un marco de autorización web. No voy a discutir los detalles de la misma, pero es necesario para que todo funcione correctamente y de forma segura. Es fácil de instalar con pip:
pepita instalar oauth2client
Es posible que tenga que instalar pyOpenSSL así, dependiendo de su configuración:
pepita instalar pyOpenSSL
Ahora es necesario instalar Gspread por Anton Burnashev en GitHub. Esta es una excelente biblioteca escrita para hacer más fácil para acceder a hojas de Google en Python. Una vez más, esto es fácil de instalar con pip:
pepita instalar gspread
Ahora abra su editor de texto favorito (estoy usando Sublime Texto 3). Crear un nuevo archivo de Python y guardarlo en el directorio del proyecto como google_io.py. Aquí está el código de prueba:
impresión `¡Hola Mundo!`
Volver a su Terminal y navegue hasta el directorio del proyecto. Esto se puede hacer a través de la discos compactos mando. Puedes usar ls para listar los archivos, y pwd para mostrar su directorio de trabajo.
Una vez en el directorio del proyecto, puede ejecutar la secuencia de comandos de Python como esto:
google_io.py pitón
Ahora debería ver ¡Hola Mundo! en su línea de comandos:
Ahora que Python está funcionando correctamente, le permite seguir adelante y configuración de las bibliotecas. Eliminar el código hola mundo. Ahora importar Gspread y ejecute el código de nuevo:
importar gspread
Si las cosas están funcionando correctamente, no pasará nada. Si se produce un error, tal vez diciendo sin módulo denominado X donde X es el nombre del módulo que ha escrito (Gspread) ir y doble PIP cheque instalado el módulo correctamente, y que no se ha cometido un error tipográfico.
Aquí está el código para empezar:
importar JSONimportar gspreadde oauth2client.cliente importar SignedJwtAssertionCredentialsjson_key = JSON.carga(abierto(`Creds.json`)) # JSON credenciales que ha descargado anteriormentealcance = [`Https://spreadsheets.google.com/feeds`]cartas credenciales = SignedJwtAssertionCredentials(json_key[`Client_email`], json_key[`llave privada`].codificar(), alcance) # Obtener el correo electrónico y la clave de credsarchivo = gspread.autorizar(cartas credenciales) # Autenticarse con Googlehoja = archivo.abierto("MUO_Python_Sheet").sheet1 # Hoja abierta
Esto simplemente recupera sus datos desde el .JSON presentar, y luego los utiliza para autenticarse con Google. A continuación, se abre una hoja llamada MUO_Python_Sheet. Puede que tenga que cambiar esto para el nombre de la hoja (siempre que haya compartido correctamente). Python es mayúsculas y minúsculas, así que asegúrese de introducir este código correctamente.
Leyendo
Ahora que todo está configurado, es trivial para leer o escribir datos. He aquí cómo se selecciona un rango de celdas (en este caso, todas las células del coche):
all_cells = hoja.distancia(`A1: C6`)impresión all_cells
Esto es lo que parece:
No es muy agradable es? Python ha vertido el contenido del objeto, sin tener en cuenta el formato. Debido a que esta se almacena en el all_cells variable, se puede acceder como cualquier otro objeto Python. He aquí cómo imprimir todos los valores de las celdas en un formato más agradable:
para celda en all_cells:impresión celda.valor
Y que tiene el siguiente aspecto:
Es posible acceder a las células de forma individual (aunque esto es lento si lo hace un montón de veces):
Vídeo: Getting Started with Google APIs (Python)
A1 = hoja.Una célula(`A2`).valor # Esta célula contiene "Vado"
O puede utilizar las coordenadas de la celda:
coord = hoja.celda(3, 0).valor
Es fácil de obtener todos los valores de una fila:
fila = hoja.row_values(1) # primera fila
O puede obtener toda una columna. Esto nos lleva de la Modelo fila:
columna = hoja.col_values(2) modelos #
Tenga en cuenta que estos dos métodos no saber la cantidad de datos que tiene. Si sólo tiene tres filas, múltiples adicional vacío serán devueltos células. Es casi siempre mejor para tener acceso a un bloque predefinido de células.
Escritura
Es tan fácil de escribir de nuevo en la hoja, y se puede usar nombres de celdas o coordenadas, al igual que cuando se lee:
hoja.update_acell(`C2`, `Azul`)hoja.update_cell(2, 3, `Azul`)
La página del proyecto en GitHub tiene muchos más ejemplos.
Si está escribiendo a una hoja de importante, es posible que desee considerar una la seguridad celda. Almacenar un valor en una celda determinada (utilizo “No elimine este”) y luego leer esa celda en primer lugar. Si el contenido ha cambiado, entonces las columnas se han añadido o eliminado en su hoja, por lo que no proceda la escritura! Así es como se podría lograr:
Si hoja.Una célula(`B3`) != `LA SEGURIDAD`:# Algo ha cambiado en la hoja, NO PROCEDEaumento Excepción("Oh mi, yo no estoy preparado para esto.")más:# Continuar con su escriturahoja.update_acell(`C2`,`Azul`)
Esta es una buena práctica. Asegura la secuencia de comandos no puede escribir accidentalmente en la columna equivocada. No es un sustituto de las copias de seguridad adecuadas (que tienen copias de seguridad, ¿verdad?).
Ahora que sabes lo básico, ir y hacer algo fresco! Aprende cómo usar cron programar tareas en Linux (o retirar una alternativa de windows). Tal vez usted podría alimentar una marco de la foto o hacer un tablero de instrumentos de oficina - eso es lo que hice!Cómo programar tareas en Linux con Cron y CrontabCómo programar tareas en Linux con Cron y CrontabLa capacidad de automatizar tareas es una de esas tecnologías del futuro que ya está aquí. Cada usuario de Linux puede beneficiarse de sistema de programación y las tareas del usuario, gracias a cron, un servicio en segundo plano y fácil de usar.Lee mas
¿Ha interactuado con Hojas de cálculo antes? Háganos saber sus experiencias en los comentarios!