Crear scripts de automatización en Python con Cerewro: CSV, Excel, web scraping y más

Genera scripts Python completos con Cerewro para automatizar tareas repetitivas: procesar CSV con pandas, generar informes Excel, hacer web scraping, enviar emails y programar tareas con cron o schtasks.

Scripts de automatización en Python con Cerewro

Python es el lenguaje rey de la automatización. Con Cerewro puedes generar scripts completos para procesar datos, generar informes, hacer web scraping, enviar emails automáticos y programar tareas. Sin escribir una línea de código, solo describiendo lo que necesitas.

Procesar CSV y Excel con pandas

Cerewro Chat
Crea un script Python que lea "ventas_2025.csv", agrupe por vendedor y mes, calcule totales y variación respecto al mes anterior, y genere un Excel con gráfico de barras en "informe_ventas.xlsx"
Script generado por Cerewro
import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
from openpyxl.styles import Font, PatternFill
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

def generar_informe(csv_path: str, output_path: str) -> None:
    logger.info(f"Leyendo {csv_path}")
    df = pd.read_csv(csv_path, parse_dates=['fecha'])
    df['mes'] = df['fecha'].dt.to_period('M')

    resumen = df.groupby(['vendedor', 'mes'])['ventas'].sum().reset_index()
    resumen['variacion'] = resumen.groupby('vendedor')['ventas'].pct_change() * 100

    wb = Workbook()
    ws = wb.active
    ws.title = "Resumen"
    # ... escribir datos con formato ...
    wb.save(output_path)
    logger.info(f"Informe guardado en {output_path}")

if __name__ == "__main__":
    generar_informe("ventas_2025.csv", "informe_ventas.xlsx")

Web scraping con BeautifulSoup y requests

Scraping de productos de un e-commerce
Crea un script Python que extraiga nombre, precio y disponibilidad de los primeros 5 páginas de resultados de busqueda y guarde los datos en un CSV con marca de tiempo
Estructura del script de scraping
import requests
from bs4 import BeautifulSoup
import pandas as pd
from datetime import datetime
import time

def scrape_productos(base_url: str, paginas: int = 5) -> pd.DataFrame:
    productos = []
    headers = {'User-Agent': 'Mozilla/5.0 ...'}

    for pagina in range(1, paginas + 1):
        resp = requests.get(f"{base_url}?page={pagina}", headers=headers, timeout=10)
        resp.raise_for_status()
        soup = BeautifulSoup(resp.text, 'html.parser')

        for item in soup.select('.product-card'):
            productos.append({
                'nombre':        item.select_one('.name').text.strip(),
                'precio':        item.select_one('.price').text.strip(),
                'disponible':    'out-of-stock' not in item.get('class', []),
                'timestamp':     datetime.now().isoformat()
            })
        time.sleep(1)  # respetar el servidor

    return pd.DataFrame(productos)

Automatizar envío de emails

Script de email con adjuntos
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
import os

def enviar_informe(destinatario: str, archivo: str, asunto: str) -> None:
    msg = MIMEMultipart()
    msg['From']    = os.getenv('EMAIL_FROM')
    msg['To']      = destinatario
    msg['Subject'] = asunto

    msg.attach(MIMEText("Adjunto encontrarás el informe.", 'plain'))

    with open(archivo, 'rb') as f:
        part = MIMEBase('application', 'octet-stream')
        part.set_payload(f.read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', f'attachment; filename={os.path.basename(archivo)}')
    msg.attach(part)

    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as s:
        s.login(os.getenv('EMAIL_FROM'), os.getenv('EMAIL_PASS'))
        s.send_message(msg)

Programar tareas automáticas con schtasks

Ejecutar script Python todos los días a las 8am
schtasks /create /tn "InformeDiario" /tr "python C:\scripts\informe.py" /sc DAILY /st 08:00 /ru SYSTEM
Entorno virtual siempre: Para scripts programados, activa el entorno virtual explícitamente en el comando: C:\scripts\.venv\Scripts\python.exe C:\scripts\informe.py. Así te aseguras de usar las dependencias correctas independientemente del Python global del sistema.