Saltar al contenido
Guía Por Cesar Nuñez principiante
1 hora

Cómo automatizar tareas con Python e IA

Antes de empezar necesitas

  • Computador con Python instalado
  • Ganas de no hacer lo mismo dos veces

No necesitas saber programar profesionalmente para automatizar el 80% de las tareas repetitivas de tu trabajo. Con Python básico y la API de OpenAI, puedes construir tus propias automatizaciones en un fin de semana.

Hay una tarea que haces cada semana y que odias. Copiar datos de un Excel a otro. Mandar el mismo correo con pequeñas variaciones. Generar ese reporte de siempre. Si lo haces más de tres veces, debería hacerlo una máquina.

Esta guía no es sobre volverse programador. Es sobre eliminar trabajo manual usando Python e IA como herramientas, igual que usas Excel o Word.

Qué vas a necesitar

Instala estas tres librerías con un solo comando:

pip install openai schedule pandas openpyxl

Crea un archivo .env con tu clave de OpenAI:

OPENAI_API_KEY=sk-...tu-clave-aqui...

Y en cada script, cárgala así:

from dotenv import load_dotenv
import os
load_dotenv()

Automatización 1: Resumen diario por email

¿Tienes que revisar varias fuentes cada mañana y resumir lo importante? Automatiza el resumen con IA y mándatelo por correo.

import smtplib
from email.mime.text import MIMEText
from openai import OpenAI

client = OpenAI()

def generar_resumen(contenido_del_dia: str) -> str:
    respuesta = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "Eres un asistente que resume información de negocio. Sé directo y conciso."},
            {"role": "user", "content": f"Resume esto en 5 puntos accionables:\n\n{contenido_del_dia}"}
        ]
    )
    return respuesta.choices[0].message.content

def enviar_email(destinatario: str, asunto: str, cuerpo: str):
    msg = MIMEText(cuerpo)
    msg['Subject'] = asunto
    msg['From'] = "tu@email.com"
    msg['To'] = destinatario
    
    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server:
        server.login("tu@email.com", "tu-contraseña-de-app")
        server.send_message(msg)

# Uso
contenido = "Ventas del día: $12,400. Tickets de soporte: 8 abiertos, 5 cerrados. Nuevos leads: 14."
resumen = generar_resumen(contenido)
enviar_email("tu@email.com", "Resumen del día", resumen)
print("Email enviado:", resumen)

Para Gmail necesitas activar “Contraseñas de aplicación” en tu cuenta de Google, no uses tu contraseña normal.

Automatización 2: Clasificador de correos con IA

Si recibes muchos correos y necesitas priorizarlos, este script lee un CSV con los asuntos y los clasifica en urgente, normal, o spam.

import pandas as pd
from openai import OpenAI

client = OpenAI()

def clasificar_correo(asunto: str, remitente: str) -> str:
    respuesta = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "Clasifica correos en: URGENTE, NORMAL, o SPAM. Responde solo con una de esas palabras."},
            {"role": "user", "content": f"Remitente: {remitente}\nAsunto: {asunto}"}
        ]
    )
    return respuesta.choices[0].message.content.strip()

# Cargar correos desde CSV
df = pd.read_csv("correos.csv")  # columnas: asunto, remitente
df['prioridad'] = df.apply(lambda row: clasificar_correo(row['asunto'], row['remitente']), axis=1)
df.to_excel("correos_clasificados.xlsx", index=False)
print(df[['asunto', 'prioridad']].to_string())

Automatización 3: Reporte semanal desde Excel

Tienes datos en un Excel que cambian cada semana. Este script genera un reporte en texto listo para enviar o pegar en Slack.

import pandas as pd
from openai import OpenAI

client = OpenAI()

def generar_reporte_ventas(archivo: str) -> str:
    df = pd.read_excel(archivo)
    
    # Estadísticas básicas
    resumen = f"""
    Total de ventas: ${df['monto'].sum():,.0f}
    Promedio por venta: ${df['monto'].mean():,.0f}
    Mejor vendedor: {df.groupby('vendedor')['monto'].sum().idxmax()}
    Producto más vendido: {df['producto'].value_counts().index[0]}
    Total de transacciones: {len(df)}
    """
    
    # Pedir interpretación a la IA
    respuesta = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": "Eres analista de ventas. Interpreta estos números y da 2-3 recomendaciones concretas."},
            {"role": "user", "content": resumen}
        ]
    )
    return f"📊 REPORTE SEMANAL\n{resumen}\n\n💡 ANÁLISIS:\n{respuesta.choices[0].message.content}"

reporte = generar_reporte_ventas("ventas.xlsx")
print(reporte)

Programar la ejecución automática

Para que corran solos, usa schedule:

import schedule
import time

schedule.every().monday.at("08:00").do(lambda: print("Ejecutando reporte..."))
schedule.every().day.at("07:30").do(lambda: print("Enviando resumen diario..."))

while True:
    schedule.run_pending()
    time.sleep(60)

Déjalo corriendo en segundo plano o usa un servidor (incluso una Raspberry Pi vieja funciona).

Próximos pasos

Una vez que tengas estos tres funcionando, el camino natural es: conectar con Notion o Google Sheets via API, automatizar respuestas en Slack, o montar todo en un servidor en la nube con GitHub Actions. El principio es el mismo: Python + OpenAI + los datos que ya tienes.

El tiempo que inviertes en construir la primera automatización lo recuperas en la primera semana.

#python#automatizacion#ia#productividad#no-code

Notas de la comunidad

¿Te fue útil este contenido?

Tamaño de lectura