No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Automatización y scripting

9/25
Recursos

Aportes 40

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tengo una tarea que se trata de hacer unas presentaciones de power point, despues de varias veces perdiendo horas colocando imagenes y titulos, decidi automatizar esta tarea usando python. Ahora solo colecto las imagenes y mediante pandas, openpyxl y python-pptx he logrado sacar el ppt en solo 2 minutos. Aprendizaje: Elimina todo TASK que sea manual lo mas posible!!

Les recomiendo el libro ‘Automating the boring stuff with Python’

Una tarea cotidiana en mi caso era ordenar por extensión todos los archivos que descargaba en el directorio Downloads; para ahorrarme tiempo lo automaticé con Python y puedes usar el script acá.
Si tu OS lo permite, automatizar la ejecución de este script con Crontab es el objetivo con el que lo desarrollé; de lo contrario puedes solo guardarlo como un alias y ejecutarlo directamente cuando lo necesites ~

Resumen:

  • Porque debo automatizar las tareas?
    • Para trabajar de manera inteligente
    • Optimizar el proceso
    • Utilizar recursos externos
  • Porque debo usar python?
    • Porque es un lenguaje sencillo
    • Librerias variadas
    • Comunidad activa
    • Multiplataforma
  • Cuando debemos automatizar una tarea?

Cuando se aplique la regla Beetlejuice, que quiere decir que despues de repetir 3 veces la tarea, tendras mas claro lo que vas a automatizar y porque

Es super importante evaluar el proceso antes de tirarse a la loca a automatizar, sí, muchas tareas en un proceso de data conllevan la automatización, pero debes evaluar el cómo la vas a implementar, para que la vas a implementar que técnicas de diseño puedes llegar a usar. Nuevamente, como ingeniera es muy importante que pienses en la escalabilidad y el mantenimiento de estos sistemas.

Una tarea repetitiva que hacía en mi trabajo era extraer información mensual de unos envíos que se deben hacer: a qué personas, qué producto se iba a enviar, los datos de envío, etc. Todo era manual: descargar la data, copiarla en un Sheet, limpiarla, generar etiquetas de envío del paquete, etc. Considero que puede mejorarse con Python, es todo un reto pero es posible.

Soy inexperto en la programación, pero en este caso me gustaria mucho automatizar una nomina que hago semanal de forma manual que me quita 2 horas, dependiendo, tomo la información de una pagina web llamada Jobber y de alli copio y pego los datos a google shets donde esta la nomina.
La informacion es la fecha - nombre del cliente - el monto - hora de inicio - hora de salida- el tiempo que se tomo el tech en limpiar la casa - si es 1 persona se gana el 45% del monto total si es 2 personas se gana el 22.5% y si son 3 se gana el 15% pero tambien depende de si un miembro del equipo esta en entrenamiento por lo tanto no afectaria el porcentaje - si son 2 personas y una persona en entrenamiento serian 22.5 y asi. Las tips y el monto generado por cada visita. El monto a ganar por cada visita lo determina el porcentaje mas no el tiempo que tarde en cada casa.
El tiempo que tarde en cada casa es informativo, pero si se usa para saber cuanto gano cada tech por hora. Cuando aprenda sobre programacion y automatizacion creo que la nomina se haria sola cada semana, claro despues de unos minutos limpiando la información. A los compañeros expertos? Esto se podria automatizar?

Mi resumen de la clase:

La automatización nos ayuda a aprovechar el poder de un lenguaje de programación nos ayuda a tomar tareas repetitivas de manera consistente para trabajar de manera inteligente, optimizar procesos y utilizar recursos externos. Python es muy bueno para esto ya que tiene un lenguaje sencillo, librerías variadas, comunidad activa para llegar aprovechar cosas que otros han hecho y es multiplataforma.

Modificar y limpiar de manera masiva, cuidado de automatizar cosas que no sean repetitivas y automatizar antes de tiempo. La regla Beetlejuice el solo aparece cuando repites su nombre tres veces, cuando hagas cosas a la tercera vez ahí comprenderás que tanto se puede automatizar.

Yo tenia que dibujar unos planos de alcantarrillado y acueducto que me llevaba mucho tiempo , pero ahora mediante el uso de una liberia de python llamada pyautocad, este proceso se realiza de manera automatica.

La automatización de los dashboards de datos es FUNDAMENTAL en toda organización data-driven. Tener que actualizar los datos de una forma manual es algo SUMAMENTE TEDIOSO y no aporta NADA hacerlo manualmente.

9. Automatización y scripting

Automatizar las tareas

  • Repetir una tarea
  • Trabajar de manera inteligente
  • Optimizar el proceso
  • Utilizar recursos externos

¿Por qué Python?

  • Lenguaje sencillo
  • Librerías variadas
  • Comunidad activa
  • Multiplataforma
  • Generar y copiar archivos. Descargar una fuente de datos externa.
  • Modificaciones masivas. Editar y limpiar conjuntos de datos.

Cuidado

  • Automatizar cosas que no sean repetitivas.
  • Automatizar antes de tiempo.

Confirmo. Estuve haciendo extracción, Transformación y Carga de series de datos en mi trabajo durante nueve meses usando microsoft Excel. Hacer el proceso de ETL con cada una de estas series me llevaba aproximadamente 1.5-2 horas. Cuando me decidí a llevar todo este proceso a Python (mediante Jupyter Notebooks en ambientes virtuales Conda, en WSL2), me di cuenta que sólo tomaba 30 segundos en hacerlo!

Créanme que vale la pena. Puedes demorarte hasta 1 semana construyendo tu notebook, y siempre te vas a fijar en que lo puedes ir mejorando. Pero el tiempo que se ahorra automaizando es absolutamente increíble!

Tengo varios Dashboards de Power Bi que se alimentan de BD que toca estar actualizando manualmente, seria bueno empezar a pensar con automatizar la actualizacion de esos origenes a través de Python.

Veo la automatización en dos frentes, tanto como crear desde cero un sistema para cubrir una necesidad repetitiva así como el saber usar herramientas existentes para este fin. Un ejemplo de lo segundo sería mi trabajo actual donde trabajo mucho por correo y diría que el 85% de lo que tengo que responder son plantillas que me proveyó la empresa, después de las primeras semanas y ver lo repetitivo que era este decidí optar por usar un sistema de shortcuts, uno llamado Texter donde guardo el template y decido un comando con las teclas donde cada vez que escribo y ejecuto este comando con la letra shift despliega automaticamente el template en el cuerpo del email lo que me ha ayudado a mejorar mis metricas con respecto a mis compañeros, tanto tiempo de respuesta como cantidad, ya que lo que un compañero tarda en buscar/editar un template por tiquete, yo envio hasta 3.

En este Proyecto

He hecho una automatización en Python con un Script, que a su vez, parece un poco largo, pero su ejecución es práctica, ya que me permite descargar distintos archivos zip, descargar los archivos csv y unir todo en un solo conjunto de datos.

Bueno, todo esto me llevo a que podría hacer mejor la tarea con Apache Spark y Pyspark. Saludos

Una parte del código:

def download_file(url, filename):
    response = requests.get(url)
    with open(filename, 'wb') as f:
        f.write(response.content)

urls = [Aquí es una lista con 12 conjuntos de datos correspondientes a cada mes]

for url in urls:
  filename = url.split('/')[-1]
  download_file(url, filename)

# Extraer el archivo CSV del archivo ZIP
with zipfile.ZipFile('/kaggle/working/202201-divvy-tripdata.zip', 'r') as zip_ref:
    csv_file = zip_ref.namelist()[0]  # obtener el nombre del archivo CSV
    zip_ref.extract(csv_file)

# Leer el archivo CSV extraído en un DataFrame de Pandas
ene_22 = pd.read_csv(csv_file)

# Repetir el proceso para los demás meses de Enero a Dic
data = pd.concat([ene_22, feb_22, mar_22, abr_22, may_22, jun_22, jul_22, ago_22, sep_22, oct_22, nov_22, dic_22])
print(f'Ahora nuestro conjunto de datos contiene {data.shape[0]} filas y {data.shape[1]} columnas')

>> Ahora nuestro conjunto de datos contiene 5667717 filas y 13 columnas

Soy inexperta en programación, pero algo que podría ser muy útil para automatizar seria la alimentación de mi familia ya que debido al trabajamos diariamente manejo ya una determinada cantidad y tipo de alimentos así como, los tiempos del mes en los cuales se compran, por ende, y ya sabiendo los diferentes platillos que se pueden preparar para desayunos, almuerzos, comida y lonchera de mi hijo se podrían extraer menús diferentes para cada día del mes reduciendo el tiempo para el desarrollo de esta tarea. Gracias por su atención.

Podría automatizar las siguientes tareas:

  • Descargar el resumen de la tarjeta de crédito y procesar los rubros de gastos,
  • pagar alquiler y expensas y notificar a quienes corresponda…
Automatizar la forma en la que hago resúmenes
Hace algunos años trabaje en una empresa pequeña, y una de mis labores era transcribir la información de los clientes, no era tan extensa, como 150 clientes, pero de cada cliente habían como 8 o 7 datos, recuerdo que era una plataforma muy mal optimizada, creo que su nombre era como "azana", en fin, aun desconozco como hacerlo, pero creo que se podría automatizar y hubiera tomado muchísimo menos tiempo, los hicimos entre 3 compañeros y nos tomo mas de un mes.
En el correo de la empresa tenia la automatizacion de distribuir los correos de diferentes de departamentos por carpetas, de esta forma la bandeja principal tenia pocos correos, y al momento de buscar un correo espeficico me dijiria a la carpeta correspondiente, de esta forma ahorraba tiempo. Y en lo personal con la app de calendarios en mi celular, cualquier evento queda guardado, con una notificacion semanas antes y asi no estaria buscando diariamente si tengo algo importante ese dia
Actualmente en mi trabajo realizo limpieza de datos de usuarios validando correos y numeros de telefonos, me gustaria realizar una automatización para la limpieza de estos datos, el proceso es recurrente cada que se tiene un lote de usuarios se realiza esta limpieza
Bettlejuice, Bettlejuice, Bettlejuice 😂😂😂😂
En realidad para mi el día a día es repetitivo ya que me desempeño como Tester funcional, y las regresiones son repetitivas, por eso creo que ahí la automatización me ayudaría muchísimo.
Complicado, soy pesimo automatizando, creo mi problema es que muchas veces automatizar un proceso es matar una hormiga con una granada, y creo me cuesta verlo diferente, es decir el crear la automatizacion me tarda mas de lo que realmente es el proceso, es algo que me cuesta, sin embargo entiendo el punto. Creo de mi dia a dia buscaria automatizar la eliminacion de spam de mis correos

Gracias

En mi trabajo, al final de cada sprint tenemos que borrar manualmente todos los schemas que correspondan a ramas feature y que hayan sido utilizadas exclusivamente para desarrollar y hacer pruebas previo al pasaje a test y producción. Quiero automatizar esta tarea, y se que es posible ya que los nombres de los schemas tienen un prefijo identificatorio que indican que son los schemas de una tarea X.
Hasta el momento me encuentro aprendiendo, así que no tengo tareas que automatizar
Datos qué pasó a google sheets los limpio siempre de la misma forma y alimentan un reporte en datastudio… ansiosa por aprender a automatizar esta tarea. La herramienta de la que extraigo los datos tiene API disponible y podría aprender con este curso a utilizarlas para automatizar esta extracción y limpieza de datos y dejarlos disponibles para reporting.
Hice mi tesis de grado con redes convolucionales para clasificación de ácaros en rosa sp para renombrar Miles de imágenes use un simple script en python 😁😁

En mi caso yo uso una pltaforma para conseguir trabajo la cual me envia notificaciones a mi computadora, la automatizacion que haria serai que cada vez que llegue ese mensaje abra el mensaje en una pestana de mi browser para poder responder a la posible solicitud

El caso en viable de hacer por que despues de que sale esa notificacion es imposible volver a encontrar la solicitud en la pagina

Aún no identifico tareas que sean "iguales" para automatizar; para un poco más de contexto hasta ahora estoy empezando a trabajar.

La automatización nos lleva a evolucionar procesos , en mi caso con una planta de producción que fabrica sistemas de frenos para vehiculos automatizar tareas nos lleva a dar respuesta rápida y eficiente a los almacenes quienes finalmente entregan el producto, nos permite también controlar el proceso desde etapas tempranas para evitar rechazo.

Con chatGPT hice un script que me crea una carpeta de la clase y me mueve las capturas ah esa carpeta. Le saco capturas a los aportas o los slides,. Tambien crear un .txt con el titulo de la clase. Aguante chatgpt

Buena explicacion.

Buscar un podcast que escucho diario, podría automatizar la manera de reporducirlo sin necesidad de estar entrando a la app y buscar el podcast

Actualmente trabajo en una empresa distribnuidora de energia, y los pulsos de los clientes que son quinceminutales es una información que debemos manejar y es un volumen tremendo de datos a tratar.

Hace rato que quiero automatizar la descarga de los videos asociados a unos links de un pdf.

Llevo varios tratando de automatizar un proceso…algún día lo lograré, pero lo poco que levo me ha ayudado mucho.

Yendo a tareas no laborales, como tarea de rutina diaria cuando estudio automatizaría que cuando enciendo mi pc, se abra de inmediato la web del curso y clase en el que estoy estudiando, y las herramientas que use.
Y como tarea laboral me gustaría poder automatizar filtrando las búsquedas de Data Engineer con un scraper desde distintos orígenes (que lo pienso desarrollar cuando vaya realizando los cursos del tema)