Automatiza las tareas aburridas usando Python

Ing. Gerardo Becerra, Ph.D.

Talleres de Formación Cadena ETR

2 de Octubre, 2021

¿Automatizar?

¿Qué es la Automatización?

  • Aplicación de tecnologías para producir bienes o servicios con una mínima intervención humana.
  • Es útil para mejorar la eficiencia, velocidad y confiabilidad de muchas tareas que antes eran desarrolladas por personas.
  • Existen muchas tareas aburridas (repetitivas, estructuradas) que son susceptibles de ser automatizadas.
  • Objetivo: Escribir un programa que automatice un proceso determinado.
  • Uno de los lenguajes de programación más populares en el mundo.
  • Fácil de aprender a utilizar.
  • Énfasis en obtener código legible.
  • Amplia variedad de librerías especializadas (desarrollo web, computación científica, manejo de gráficos, visualización de datos, etc)
  • Lenguaje interpretado.
  • Envío de mensajes de correo electrónico personalizados.
  • Operaciones con archivos.
  • Compilación de datos y generación de reportes.
  • Interacción con sitios web.

Tareas para automatizar

Envío de mensajes de correo electrónico personalizados

  • Enviar mensajes de correo: una de las tareas más comunes y que más consume tiempo.
  • En muchas ocasiones se requiere enviar mensajes personalizados, lo cual consume mucho tiempo si se realiza de forma manual.
  • También es posible programar el envío de mensajes cuando ocurra algún evento.
  • En el siguiente ejemplo vamos a enviar mensajes personalizados a los asistentes a este taller.

Envío de mensajes de correo electrónico personalizados

  1. Crear una nueva cuenta de Gmail: https://accounts.google.com/signup
  2. Configurar la opción Permitir acceso de aplicaciones menos seguras: https://myaccount.google.com/lesssecureapps
  3. Registrar datos: https://forms.gle/WJwczs51h5iDKwti7
  4. Preparar script de Python.

Escanéame!

Operaciones con archivos

  • En ocasiones se requiere gestionar cientos o miles de archivos, realizando operaciones como cambiar el nombre, mover, copiar, eliminar, comprimir, etc.
  • Todas estas tareas se pueden automatizar usando librerías que permiten interactuar con el sistema de archivos.
  • En el siguiente ejemplo, vamos a organizar los archivos que se encuentran en el directorio Descargas de acuerdo con el tipo correspondiente.

Operaciones con archivos

Documentos

Imagenes

Software

Otros

Descargas

Descargas

Compilación de Datos y Generación de reportes

  • En diversos contextos laborales y académicos es muy común la necesidad de elaborar reportes para comunicar resultados, cifras, etc.
  • El procesamiento de los datos y la preparación de los reportes puede ser una labor dispendiosa y propensa a cometer errores.
  • Cuando se requiere elaborar reportes frecuentemente es muy útil automatizar el proceso completo.
  • En el siguiente ejemplo se capturan y procesan datos del Instituto Nacional de Salud (INS) para elaborar un reporte.

Compilación de Datos y Generación de reportes

Base de datos INS

Procesamiento de datos

Resultados del procesamiento

Visualización de los resultados

Interacción con Sitios Web

  • Actualmente, los sitios web están llenos de contenido dinámico e interactivo.
  • Para navegar en un sitio web, normalmente el usuario hace uso del navegador para acceder a los contenidos e introducir información o diligenciar formularios.
  • Muchos usuarios realizan tareas repetitivas en diversos sitios web. Estas interacciones pueden ser automatizadas.

Interacción con Sitios Web

Criterio de búsqueda

Procesamiento código HTML

Resultados del procesamiento

Resultados de búsqueda

Conclusión

  • Las tendencias actuales apuntan a un incremento en la automatización de los procesos de las organizaciones.
  • El lenguaje Python es una herramienta que permite automatizar gran cantidad de procesos que de otra forma tomarían mucho tiempo y estarían sujetos al error humano.
  • Es importante adquirir destrezas para automatizar procesos, pues de esta forma se recupera tiempo valioso que puede emplearse en otras actividades.

Gracias por su atención.

Automatiza las tareas aburridas usando Python

By Gerardo Dejesus Becerra Becerra

Automatiza las tareas aburridas usando Python

  • 402