
Edmund Richardson
0
3356
518
Python es un excelente lenguaje de programación. La sintaxis puede parecer extraña e inusual, sin embargo, es fácil de aprender y usar. Funciona con Minecraft Pi Edition Aprenda Python y Electrónica con Minecraft Pi Edition Aprenda Python y Electrónica con Minecraft Pi Edition ¿Siempre ha querido aprender a codificar pero no sabía por dónde empezar? Aprende a controlar Minecraft en Raspberry Pi usando Python y algunos dispositivos electrónicos simples. , junto con una gran cantidad de sitios web y proyectos de investigación académica.
En este artículo, le mostraré cómo leer y escribir en Hojas de cálculo de Google utilizando Python. Asegúrese de leer nuestras razones por las cuales la programación de Python no es inútil. 5 razones por las que la programación de Python no es inútil. 5 razones por las que la programación de Python no es inútil. Python: o lo ama o lo odia. Incluso puede balancearse de un extremo al otro como un péndulo. De todos modos, Python es un lenguaje difícil de ser ambivalente. y nuestras cinco configuraciones de Hojas de cálculo de Google 5 Configuraciones de Hojas de cálculo de Google Esenciales para el trabajo en equipo 5 Configuraciones de Hojas de cálculo de Google Esenciales para el trabajo en equipo Las Hojas de cálculo de Google tienen más funciones para admitir el ingreso y procesamiento de datos colectivos de lo que piensas. Le presentaremos las funciones y características de Hojas de cálculo de Google que son esenciales para los proyectos grupales. que son esenciales para el trabajo en equipo Proporcionarán algunos conocimientos básicos útiles. Si recién comienza su viaje a Python, estos 5 mejores sitios web para aprender Python Los 5 mejores sitios web para aprender programación de Python Los 5 mejores sitios web para aprender programación de Python ¿Desea aprender programación Python? Estas son las mejores formas de aprender Python en línea, muchas de las cuales son completamente gratuitas. son un buen punto de partida.
Configuración de Google
Antes de saltar al código, hay algunas configuraciones iniciales necesarias en las Hojas de cálculo de Google.
Primero, crea una nueva hoja. Puede omitir este paso si ya tiene uno configurado. Estoy usando una lista de autos de rally para este ejemplo:
Ahora necesita configurar sus opciones para compartir. Necesitarás generar Credenciales firmadas, algo que suena más difícil de lo que es. Navegue a la Consola de desarrolladores de Google y cree un nuevo proyecto (o use uno existente):
Déle a su proyecto un nombre adecuado y luego haga clic crear:
Debajo API de Google Apps seleccionar API de unidad:
Escoger Habilitar:
Ahora selecciona Cartas credenciales en el menú de la izquierda:
Haga clic en la pequeña flecha en el Crear credenciales botón:
Ahora selecciona Clave de cuenta de servicio:
Escoger Cuenta de servicio predeterminada de App Engine debajo Cuenta de servicio y JSON como el formato:
Haga clic en crear, y debería obtener un .json descarga de archivos. Mueva esto a su directorio de proyecto y cámbiele el nombre creds.json. Finalmente, abra el archivo y busque cliente_email. Este debería ser el nombre de su proyecto en appspot.gserviceaccount.com. Comparta su hoja de Google con esta dirección de correo electrónico (Parte superior derecha > Compartir > Ingrese correo electrónico).
Eso es todo por el lado de Google Drive.
Configuración de Python
Hay dos versiones principales de Python: 2.7 y 3.x. Usaré 2.7, pero en realidad no importa lo que uses. El wiki de Python desglosa las diferencias si estás interesado. Es posible que desee instalar un entorno virtual. Eso está fuera del alcance de este artículo, pero es una buena práctica..
Si está ejecutando Microsoft Windows, es posible que deba descargar e instalar Python. Mac OS viene con Python ya instalado. Como estoy usando una Mac, este proyecto se creará como tal. Debería poder seguir razonablemente bien en una máquina con Windows o Linux. Asegúrese de leer nuestra guía Hola usuario de Windows, ¿debería cambiar a Linux o Mac? Hola usuario de Windows, ¿debería cambiar a Linux o Mac? ¿Alguna vez consideró cambiar de Windows a Linux o Mac? La respuesta rápida: si está en Windows, quédese con Windows y no se preocupe por actualizarse todavía. Este es el por qué. en cuanto a si debe cambiar.
Primero, abra una nueva terminal. Deberá usar pip para instalar algunos paquetes de Python. Esta es una herramienta recomendada que facilita la administración de paquetes. Viene con Python.
Necesita instalar un cliente oauth2. Oauth es un marco de autorización web. No voy a discutir los detalles, pero es necesario que todo funcione de manera correcta y segura. Es fácil de instalar usando pip:
pip install oauth2client
Es posible que también necesite instalar PyOpenSSL, dependiendo de su configuración:
pip install PyOpenSSL
Ahora necesita instalar Gspread de Anton Burnashev en GitHub. Esta es una excelente biblioteca escrita para facilitar el acceso a Google Sheets en Python. Nuevamente, esto es fácil de instalar usando pip:
pip install gspread
Ahora abra su editor de texto favorito (estoy usando Sublime Text 3). Cree un nuevo archivo Python y guárdelo en el directorio de su proyecto como google_io.py. Aquí está el código de prueba:
imprimir '¡Hola, mundo!'
Vuelve a tu Terminal y navegue hasta el directorio de su proyecto. Puedes hacer esto a través de discos compactos mando. Puedes usar ls para enumerar archivos y pwd para mostrar su directorio de trabajo.
Una vez en el directorio de su proyecto, puede ejecutar su script Python de esta manera:
python google_io.py
Ahora deberías ver Hola Mundo! en su línea de comando:
Ahora que Python funciona correctamente, avancemos y configuremos las bibliotecas. Elimina el código hello world. Ahora importe Gspread y ejecute el código nuevamente:
importación gspread
Si las cosas funcionan correctamente, no pasará nada. Si obtiene un error, tal vez diciendo ningún módulo llamado X donde X es el nombre del módulo que escribió (Gspread) vaya y compruebe que pip instaló el módulo correctamente y que no ha cometido un error tipográfico.
Aquí está el código para comenzar:
import json import gspread de oauth2client.client import SignedJwtAssertionCredentials json_key = json.load (open ('creds.json')) # credenciales json que descargó anteriormente scope = ['https://spreadsheets.google.com/feeds'] credentials = SignedJwtAssertionCredentials (json_key ['client_email'], json_key ['private_key']. Encode (), scope) # obtener correo electrónico y clave de creds file = gspread.authorize (credentials) # autenticar con Google sheet = file.open ("MUO_Python_Sheet" ) .sheet1 # hoja abierta
Esto simplemente recupera sus datos de la .json archivo, y luego los usa para autenticarse con Google. Luego abre una hoja llamada MUO_Python_Sheet. Es posible que deba cambiar esto al nombre de su hoja (siempre que la haya compartido correctamente). Python distingue entre mayúsculas y minúsculas, así que asegúrese de ingresar este código correctamente.
Leyendo
Ahora que todo está configurado, es trivial leer o escribir datos. Así es como selecciona un rango de celdas (en este caso, todas las celdas del automóvil):
all_cells = sheet.range ('A1: C6') print all_cells
Así es como se ve:
¿No es muy agradable? Python ha volcado el contenido del objeto, sin importar el formato. Porque esto se almacena en el all_cells variable, se puede acceder como cualquier otro objeto de Python. Así es como imprime todos los valores de celda en un formato más agradable:
para celda en all_cells: print cell.value
Y eso se ve así:
Es posible acceder a las celdas individualmente (aunque esto es lento si lo hace muchas veces):
A1 = sheet.acell ('A2'). Value # esta celda contiene "Ford"
O puede usar las coordenadas de la celda:
coord = sheet.cell (3, 0) .value
Es fácil obtener todos los valores para una fila:
fila = sheet.row_values (1) # primera fila
O puede obtener una columna completa. Esto consigue el Modelo fila:
col = sheet.col_values (2) # modelos
Tenga en cuenta que estos dos métodos no saben cuántos datos tiene. Si solo tiene tres filas, múltiples adicionales vacío Las células serán devueltas. Casi siempre es mejor acceder a un bloque de celdas predefinido.
Escritura
Es igual de fácil volver a escribir en la hoja, y puede usar nombres de celda o coordenadas, como cuando lee:
sheet.update_acell ('C2', 'Blue') sheet.update_cell (2, 3, 'Blue')
La página del proyecto en GitHub tiene muchos más ejemplos..
Si está escribiendo en una hoja importante, puede considerar un la seguridad célula. Almacenar un valor en una celda determinada (yo uso “No borres esto”) y luego lea esa celda primero. Si el contenido ha cambiado, entonces se han agregado o eliminado columnas en su hoja, ¡así que no continúe escribiendo! Así es como se podría lograr:
if sheet.acell ('B3')! = 'SAFETY': # algo ha cambiado en la hoja, NO PROCEDE subir Excepción ("Oh, no estoy listo para esto"); de lo contrario: # continúa con tu escritura sheet.update_acell ('C2', 'Azul')
Esta es una buena práctica. Asegura que su script no pueda escribir accidentalmente en la columna incorrecta. No es un sustituto de las copias de seguridad adecuadas (tiene copias de seguridad, ¿verdad?).
Ahora que sabes lo básico, ¡ve y haz algo genial! Aprenda a usar cron Cómo programar tareas en Linux con Cron y Crontab Cómo programar tareas en Linux con Cron y Crontab La capacidad de automatizar tareas es una de esas tecnologías futuristas que ya está aquí. Todos los usuarios de Linux pueden beneficiarse del sistema de programación y las tareas del usuario, gracias a cron, un servicio en segundo plano fácil de usar. para programar tareas en Linux (o verifique una alternativa de Windows Cómo ejecutar trabajos de Linux Style Cron en Windows Cómo ejecutar trabajos de Linux Style Cron en Windows). Tal vez podría alimentar un marco de fotos ShowerThoughts y EarthPorn: hacer un marco de fotos inspirador de Raspberry Pi!
¿Has interactuado anteriormente con Google Sheets? Háganos saber sus experiencias en los comentarios a continuación!