Intelligent+Process+Automation+con+Python Iván+Pinar
Intelligent+Process+Automation+con+Python Iván+Pinar
Intelligent+Process+Automation+con+Python Iván+Pinar
Robotic
Process Inteligencia
Automation Artificial (AI)
(RPA) Intelligent Process
Automation
(IPA)
Automatización de tareas basadas en Algoritmos que permiten aprender
Tecnología para replicar y automatizar
automáticamente de los datos
tareas basadas en reglas decisiones inteligentes
- Mayor eficiencia Aprendizaje Supervisado permite realizar
Eficiencia en procesos repetitivos y - Mayor reducción de costes predicciones en base a nuevos datos de entrada
reducción de riesgos por fallo humano - Incrementar la calidad de los
Aprendizaje NO Supervisado permite identificar
procesos patrones
© Iván Pinar Domínguez - Aumento de la agilidad
1.2 Selección de procesos IPA
Objetivo: Automatizar procesos repetitivos aportando capacidad de decisión mediante
Inteligencia Artificial
Proceso Proceso
Automático 1 Automático 3
IPA Inicio
Fin
Proceso
Automático 2
Inteligencia Artificial
Facilidad de uso
IPA
Librerías de Rapidez de
automatización ejecución
disponibles
© Iván Pinar Domínguez
1.3 Plataformas en IPA - ¿Por qué Python?
Producto licenciado
Gratis (Open Source) aunque
Coste (orquestador + UiPath Studio +
mayor coste de desarrollo
Robot ~40k€)
Control plataforma
Posibilidad
IPA (RPA + IA)
© Iván Pinar Domínguez
1.4 Instalación Python + Jupyter
• ANACONDA: Distribución de Python con múltiples librerías pre-instaladas para Data
Science.
https://www.anaconda.com/distribution/#download-section
• Panel de Control> system > advanced > |Variables de Entorno| > system variables
© Iván Pinar Domínguez Añadir a la variable PATH la ruta concreta con “;”
1.4 Instalación Python + Jupyter
Ventas diarias
Automatización
Lectura Ficheros Inserción de todas las
ventas diarias en CRM https://ventas27122020.bubbleapps.io/
Administrativo Automatización
Inserción Web
Automatización
Lectura Email
Comerciales
• Creación
Posición: 0 , 1 , 2 , 3 , 4 , 5
Posición: -6 , -5 , -4 , -3 , -2 , -1
• EJERCICIO: Seleccionar en la lista
dimensiones desde 2º valor hasta el
penúltimo
x y
2
58
• ¿Cómo añadir elementos en una lista?
6
Nombre_funcion(arg_1, arg_2,…)
Arg_1
Nombre_funcion() Resultado
Arg_2
Lógica docstring
• Función map: map(func, secuencia): Aplica la • EJERCICIO: Crear función lambda que
función a todos los elementos de una secuencia convierta de $ a € una lista de precios
(una lista, una columna de un dataframe,…) en $ (asumir que 1€ = 1,1$)
• Ejemplo (Elevar una lista de números al cuadrado)
Capitalize()
str
Replace(cad_ini
,cad_fin)
list Insert(pos,valor)
clave
valor
• ¿Podemos añadir condiciones? (Ejemplo • EJERCICIO: Crear lista que eleve al cuadrado
sumar 5 solo si el números es menor que 5) los valores pares de la lista (condiciones para
evaluar si es par: num % 2 == 0)
Cargar pestaña
del libro
Obtener el valor
de una celda
DISTRITO Población_Distrito
Arganzuela 151965
Centro 149718
Chamberí 137401
Moncloa-Aravaca 116903
Latina 233808
Escribir en una celda
Crear una
pestaña nueva
Importar de un CSV
df = pd.read_csv(r'file.csv', delimiter=“;“, encoding = "ISO-8859-1“, index_col = 0, nrows=5, header=None)
*Argumentos obligatorios
*Argumentos opcionales Defecto: “,” Defecto: None Defecto: All Defecto: 0
Importar de Excel
df = pd.read_excel(r'file.xlsx‘, sheet_name = “nombre_pestaña”)
Tablas de datos
df_pais
Exportar a Excel
df.to_excel(r‘ruta_local/nombre_fichero.xlsx‘, ,sheet_name = nombre_pestaña)
Leer párrafos
Poner en negrita
Modificar texto
2. 3. Guardar 4. Reconocimiento
Transformación imágenes en de texto OCR
1. Instalación pdf a imagen ruta temporal
Pedidos Tesseract/Poppler
• Realizamos el reconocimiento
• Tesseract: • Cada página de texto de cada imagen con
https://github.com/UB- del fichero pdf el motor OCR Tesseract y lo
Mannheim/tesseract/wiki/ se transformará guardamos en un fichero de
• Poppler: a una imagen salida en formato texto
https://blog.alivate.com.a
u/poppler-windows/
• Definir en variable entorno
© Iván Pinar Domínguez
Cómo organizar automáticamente los ficheros en directorios
• Librería: import os / import shutil
Ventas diarias
Automatización
Lectura Ficheros Inserción de todas las
ventas diarias en CRM https://ventas27122020.bubbleapps.io/
Administrativo
HTTP
• ¿Cómo importamos un recurso web a partir de una URL?
GET
https://es.wikipedia.org/wiki/Poblaci%C3%B3n_mundial
• SOLUCIÓN: Web scraping con BeautifulSoup <div id=“gráfico 1”> <div id=“gráfico 2”>
Ventas diarias
Automatización
Lectura Ficheros Inserción de todas las
ventas diarias en CRM https://ventas27122020.bubbleapps.io/
Administrativo Automatización
Inserción Web
Comerciales
https://imapclient.readthedocs.io/en/master/api.html#
Loguearse con.login(“email",“password")
Ventas diarias
Automatización
Lectura Ficheros Inserción de todas las
ventas diarias en CRM https://ventas27122020.bubbleapps.io/
Administrativo Automatización
Inserción Web
Automatización
Lectura Email
Comerciales
Posición (0,0)
1 2 3
Optimizar parámetros
modelo seleccionado Benchmarking selección
mejor algoritmo
6 5 4
Ventas diarias
Automatización
Lectura Ficheros Inserción de todas las
ventas diarias en CRM https://ventas27122020.bubbleapps.io/
Administrativo Automatización
Inserción Web
Automatización
Lectura Email
Comerciales
Máquina local
Servidor on-premises
Instalar librerías
Fichero requirements.txt
• https://www.heroku.com/
• https://medium.com/tech-insights/how-to-deploy-a-python-
Generar fichero requirements:
script-or-bot-to-heroku-in-5-minutes-a82de2d3ed40
1. Abrir cmd • https://aws.amazon.com/free
2. Ir a carpeta del entorno Python con el comando cd
3. Ejecutar: pip freeze > requirments.txt
• https://towardsdatascience.com/deploying-a-python-web-
© Iván Pinar Domínguez Aplicación Windows (.exe) app-on-aws-57ed772b2319
Generación de scripts python y ejecución
Generación Notebook
Jupiter
Ejecución script en
local o servidor remoto
2. Descargar https://github.com/brentvollebregt/auto-py-to-exe
6. Seleccionar script.py
• Python es un lenguaje ideal para aplica IPA debido a que dispone de potentes librerías
enfocadas en la automatización de procesos e IA.
• Python ofrece una alta versatilidad a la hora de desplegar las soluciones IPA (local,
servidor, cloud,…)
© Iván Pinar Domínguez
Gracias