Cómo automatizar tareas con scripts de Python

Como Automatizar Tareas Con Scripts De Python



Los programadores, codificadores y desarrolladores pueden automatizar los métodos utilizando scripts de Python, ahorrándoles un tiempo y esfuerzo importante al realizar operaciones repetitivas. Python es un lenguaje informático, como Java, que funciona bien en la automatización de procesos. En comparación con otros idiomas, es relativamente fácil de aprender. También tiene una comunidad grande y vibrante y bibliotecas integradas para automatizar tareas particulares.

Instalación de Python

Antes de comenzar a automatizar las tareas, instale Python en la computadora o sistema. Para instalar Python, primero debe visitar el sitio web oficial de Python. Asegúrese de agregar Python a la RUTA del sistema durante la instalación.







  1. Seleccione un IDE o editor de texto

Se puede utilizar cualquier editor de texto para crear los scripts de Python. Aún así, los entornos de desarrollo integrados (IDE), incluidos PyCharm, Visual Studio Code o Jupyter Notebook, pueden mejorar el proceso con herramientas como resaltado de sintaxis y depuración. Sin embargo, utilizamos Notepad++ en este artículo.



  1. Determine la tarea que debe automatizarse

Esto podría implicar cualquier cosa, desde enviar correos electrónicos masivos, crear informes, descargar archivos y realizar copias de seguridad.



  1. Investigar las bibliotecas y funciones

Mire las funciones y bibliotecas que pueden automatizar las subtareas.





  1. Escribir el script en Python

Aquí es donde ensamblamos todas las piezas para crear un guión de trabajo completo.

  1. Tarea

Automatiza la generación de informes a partir de los datos almacenados en una hoja de cálculo.



  1. Secuencia de comandos de Python

Podemos utilizar un script de Python para leer los datos de una hoja de cálculo y generar informes en una variedad de formatos como PDF, HTML o CSV. Además, el script se puede utilizar para distribuir automáticamente los informes a las partes interesadas por correo electrónico o Slack.

Se necesitan varios pasos para crear informes utilizando los datos de la hoja de cálculo. Le proporcionaremos un script de Python simplificado que utiliza la biblioteca Pandas para leer los datos de una hoja de cálculo de Excel y crear un informe CSV. Recuerde que podemos aprovechar este script para producir informes más complejos en otros formatos y automatizar el correo electrónico o las notificaciones de Slack según sea necesario.

Instale las bibliotecas necesarias

Antes de ejecutar el script, necesitamos instalar la biblioteca Pandas si aún no está instalada:

pepita instalar pandas openpyxl

 

El código Python tiene una función llamada generate_report() que toma dos argumentos: la ruta a una hoja de cálculo de Excel que contiene los datos salariales de los empleados y la ruta a un archivo CSV donde se debe guardar el informe.

La función primero lee la hoja de cálculo de Excel en un objeto Pandas DataFrame. Luego, realiza el procesamiento y análisis de datos según sea necesario. La suma de la columna 'Salario' se calcula en este caso mediante la función.

A continuación, la función crea una cadena de informe que contiene el salario total de todos los empleados. Finalmente, la función guarda el informe en un archivo CSV.

La función principal del código especifica el archivo Excel de entrada y el archivo de informe de salida y luego llama a la función generate_report() para crear el informe.

GenReport.py:
importar pandas como pd_obj
def generar_reporte ( emp_salary_data, emp_salary_report_file ) :
intentar:
        # Leer datos de la hoja de cálculo de Excel.
df_obj = pd_obj.read_excel ( emp_salario_datos )        
        # Realizar procesamiento y análisis de datos según sea necesario
        # Para simplificar, supongamos que queremos calcular la suma de una columna.
salario_total = df_obj [ 'Salario' ] .suma ( )  
        # Crear un informe
informe_salario = f 'Total de salarios de todos los empleados: {salary_total}'  
        # Guarde el informe en un archivo CSV
con abierto ( emp_salary_report_file, 'En' ) como csv_obj:
csv_obj.escribir ( informe_salario )
       
imprimir ( F 'Informe generado y guardado en {emp_salary_report_file}' )
excepto excepción como ex:
imprimir ( F 'Se produjo un error: {str(e)}' )
si __nombre__ == '__principal__' :
    # Especifique el archivo Excel de entrada y el archivo de informe de salida
emp_salario_datos = 'input_employee_data.xlsx'
emp_salary_report_file = 'suma_salario.csv'
    # Llame a la función generate_report para crear el informe
generar informe ( emp_salary_data, emp_salary_report_file )

 

Aquí están los datos en el archivo de empleado de entrada:

Pruebe el guión

Debemos probar exhaustivamente el script después de escribirlo para asegurarnos de que funcione según lo previsto. Usamos el compilador Python para probar el archivo que automatizamos. En este caso, este archivo genera y almacena correctamente el informe en un archivo CSV.

Programar o activar el script

Dependiendo de los requisitos de la automatización, podremos ejecutar el script Python de varias formas:

  • Ejecución manual: Ejecute el script manualmente realizándolo en un IDE o mediante la línea de comando usando el siguiente comando: Python GenerarReport.py .
  • Tareas programadas (Windows): Podemos ejecutar el script en momentos o intervalos específicos utilizando el Programador de tareas de Windows. Usando el Servicio de Windows, también podemos invocar un evento específico.
  • Trabajos cron (Linux/macOS): Podemos usar trabajos cron para programar el script para que se ejecute en momentos específicos en sistemas tipo Unix.
  • Evento conducido: Podemos activar su script en respuesta a eventos específicos, como cambios de archivos, usando bibliotecas como watchdog o integrándolos con webhooks.

Automatización de la copia de seguridad de MySQL usando Python

Para automatizar el proceso de copia de seguridad de un servidor MySQL en un horario cada hora, podemos usar Python en combinación con la biblioteca “mysqlclient” para conectarnos a la base de datos MySQL y crear copias de seguridad, y podemos usar un programador de tareas como Cron (en sistemas basados ​​en Unix). sistemas) para ejecutar el script Python a intervalos de una hora. El siguiente es un script de Python que puede utilizar para este propósito:

Paso 1: instale las bibliotecas necesarias

Necesitamos instalar la biblioteca 'mysqlclient' para la conectividad MySQL. Podemos instalarlo usando pip:

Pepita instalar cliente mysql

 

pepita instalar analizador de configuración

 

Paso 2: crear un archivo de configuración

Cree un archivo de texto (por ejemplo, mysqlconfig.ini) para almacenar la información de su conexión MySQL, incluida la contraseña. A continuación se muestra un ejemplo de cómo podría verse el archivo 'mysqlconfig.ini':

[ MySQL ]
mySQL_DB_HOST = servidor local
mySQL_DB_USERNAME = raíz
mySQL_DB_PASSWORD = 1234
mySQL_DB_DATABASE_NAME = marcasw9_data

 

Paso 3: verificar el directorio Bin de MySQL :

El comando 'mysqldump' debe ubicarse en el directorio bin de MySQL. Verifique que la RUTA del sistema incluya el directorio bin. Podemos modificar la variable de entorno PATH para incluir la ubicación del contenedor de MySQL.

En Windows: podemos editar la RUTA del sistema buscando “Variables de entorno” en el menú “Inicio” y agregando el directorio bin de MySQL (por ejemplo, C:\Program Files\MySQL\MySQL Server X.X\bin) a la variable PATH.

Paso 3: escriba el script de Python

Cree un script de Python, por ejemplo, MySQLBackup.py, para automatizar el proceso de copia de seguridad de MySQL. Reemplace los marcadores de posición con los detalles de conexión de la base de datos y las rutas de los archivos según sea necesario.

subproceso de importación como sp
desde fecha y hora importar fecha y hora como dt_obj
importar analizador de configuración como mysql_confg
# Detalles de conexión de la base de datos MySQL
# Cargar detalles de conexión MySQL desde el archivo de configuración
config_obj = mysql_confg.ConfigParser ( )
config_obj.read ( 'mysqlconfig.ini' )   # Ajusta la ruta si es necesario
mySQL_DB_HOST = config_obj.get ( 'mysql' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME = config_obj.get ( 'mysql' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD = config_obj.get ( 'mysql' , 'mySQL_DB_PASSWORD' )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'mysql' , 'mySQL_DB_DATABASE_NAME' )
# Directorio de respaldo
bk_dir = 'directorio_de_copia de seguridad/'
# Obtener la fecha y hora actuales para el nombre del archivo de respaldo
marcas de tiempo = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# Definir el nombre del archivo de respaldo
my_sql_bk = f 'copia de seguridad_ {timestamp_oj}.sql'
# Comando de volcado de MySQL
mysql_dump_cmd=f 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

intentar:
    # Ejecute el comando de volcado de MySQL para crear una copia de seguridad
    sp.run ( mysql_dump_cmd, caparazón = Verdadero, controlar =Verdadero )
imprimir ( F 'Copia de seguridad completada y guardada como '{my_sql_bk}' en '{bk_dir}'' )
excepto sp.CalledProcessError como Es:
imprimir ( F 'Error al crear la copia de seguridad: {str(e)}' )

 

Paso 4: probar y ejecutar el código

Paso 5: programe el script con el Programador de tareas de Windows

Ahora, programemos el script de Python para que se ejecute automáticamente usando el Programador de tareas de Windows:

Inicie el Programador de tareas de Windows escribiendo 'Programador de tareas' en la barra de búsqueda del menú 'Inicio' o escribiendo 'taskschd.msc' en el cuadro de diálogo 'Ejecutar' (Win + R).

Seleccione 'Biblioteca del Programador de tareas' en el panel izquierdo del Programador de tareas.

En el panel derecho, haga clic en 'Crear tarea básica...' para abrir el 'Asistente para crear tarea básica'.

Introduzca un nombre y una descripción de la tarea. Luego, presione “Siguiente”.

Elija 'Diario' como tipo de activación (aunque desee ejecutarlo cada hora, esto le permite establecer un intervalo de repetición). Luego, haga clic en “Siguiente”.

Especifique la fecha y hora de inicio de la tarea de copia de seguridad.

Elija 'Repetir tarea cada:' y configúrelo en 1 hora.

Establezca la duración en '1 día'. Luego, haga clic en “Siguiente”.

Elija 'Iniciar un programa' y luego presione 'Siguiente'.

Busque y seleccione el ejecutable de Python (python.exe) haciendo clic en 'Examinar'.

Busque y seleccione el ejecutable de Python (python.exe) haciendo clic en 'Examinar'.

Ingrese la ruta completa a su secuencia de comandos Python (por ejemplo, C:\path\to\mysql_backup.py) en el campo 'Agregar argumentos'.

Ingrese el directorio que contiene su secuencia de comandos Python (por ejemplo, C:\path\to\) en el campo 'Iniciar en (opcional)'.

Haga clic en 'Siguiente'.

Revise la configuración de la tarea y haga clic en 'Finalizar' para crear la tarea.

Conclusión

Podemos crear scripts de automatización confiables y efectivos que reduzcan el tiempo de los flujos de trabajo y lo dediquen a actividades más importantes utilizando las herramientas de Python y sus mejores prácticas. Proporcionamos algunos ejemplos que definitivamente lo ayudarán a automatizar sus tareas utilizando scripts de Python.