DesarrolloProtección de pagoDetalles
- Los cambios dentro del paquete son gratuitos.
- Si no responde en los 3 días siguientes a la entrega, el trabajo se acepta automáticamente.
El dinero queda reservado al pagar y solo se libera cuando usted acepta el trabajo.

Ejemplo de resultado
Unir los archivos de ventas mensuales de 9 tiendas en un único informe de Excel
Cómo se ejecuta
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Carpeta: sales/2026-10, 9 archivos encontrados
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 filas
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 filas
2026-11-02 09:14:04 WARN shop-07.csv: 3 filas sin precio omitidas (líneas 88, 412, 913)
2026-11-02 09:14:05 INFO Listo: 10.412 filas -> report-2026-10.xlsx (hojas “Ventas” y “Totales”)
Configuración, no código
Los nombres de columna de cada tienda están en settings.ini, así que una tienda nueva o una columna renombrada es una línea ahí:
[columns]
date = Fecha, Fecha de venta, Día
product = Producto, Artículo, Nombre
quantity = Cant., Cantidad, Uds.
price = Precio, Precio unitario
Una parte del código
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Lee el archivo de una tienda y le da los nombres de columna del informe."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: no hay columna para '{name}' (se buscó {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Archivos: un archivo ZIP con merge_sales.py (310 líneas), settings.ini, requirements.txt y un README sobre cómo instalar Python, ejecutar el script y qué significa cada mensaje del registro. El cliente lo ejecuta en su propio ordenador.
Cliente: una pequeña cadena de 9 papelerías; cada tienda envía sus ventas del mes en un archivo CSV o Excel, con nombres de columna ligeramente distintos. Tarea: un único script que lea todos los archivos de una carpeta, dé a las columnas un mismo formato y genere un solo informe de Excel con todas las ventas y una hoja de totales por tienda.
El cliente y todos los datos son ficticios.
Acerca de este servicio
Las fotos recién salidas de una cámara o un móvil suelen pesar 5-10 MB cada una: demasiado para una página de producto, la galería de una web o un correo. Este script de Python recorre una carpeta y guarda una copia más pequeña de cada imagen: ajustada al ancho o al alto que fije sin deformarla, comprimida con la calidad que elija, en JPEG o PNG. Desde Estándar puede crear varios tamaños a la vez y quitar los datos ocultos que llevan las fotos, como la cámara y el lugar donde se hicieron. Sus originales no se tocan, y los resultados van a una carpeta aparte. Envíenos los tamaños que necesita y dos o tres fotos de muestra. El script lo ejecuta usted en su ordenador. Redimensiona y comprime; no retoca, no recorta fondos ni corrige colores.
Qué incluye
- Qué recibeUn archivo ZIP con el script de Python, un README con instrucciones paso a paso y, desde Estándar, un archivo de configuración con sus tamaños y calidad; el código también se muestra en la página del pedido.
- Sin deformarProporciones intactas; recorte o relleno solo si lo pide
- La calidad que elijaArchivos más ligeros con la nitidez que le convenza
- Originales intactosLas copias van a una carpeta aparte
- Datos ocultos eliminadosDesde Estándar, datos de cámara y ubicación eliminados si lo desea
- Código legibleCon comentarios, fácil cambiar un tamaño más adelante
Cómo funciona
- 1TamañosUsted da los tamaños y envía unas fotos de muestra
- 2CódigoEscribimos el script y la guía para ejecutarlo
- 3PruébeloLo ejecuta con una carpeta y revisa las copias
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
Los tamaños que necesita en píxeles (por ejemplo, 1600 px de ancho para la web y 400x400 para miniaturas) o los tamaños que pide la plataforma de su tienda, si recortar o añadir relleno cuando la forma no coincide, el formato de archivo y cualquier límite de peso, como menos de 300 KB. Dos o tres de sus fotos como muestra, cuántas fotos hay aproximadamente y si están en subcarpetas. Su sistema: Windows, macOS o Linux.
Le preguntaremos:
- ¿Dónde se usarán las fotos?
- ¿Qué tamaños necesita?
- ¿Algún límite de peso o formato?
- ¿Dónde se ejecutará?
Comparar paquetes
| Paquetes | BásicoUn tamaño16 US$ | EstándarTamaños con configuración33 US$ | PremiumHerramienta de imágenes67 US$ |
|---|---|---|---|
| Plazo | 1 día | 2 días | 3 días |
| Cambios | 1 | 2 | 3 |
| Código | hasta 150 líneas | hasta 400 líneas | hasta 1.000 líneas |
| Archivos de código | 1 | hasta 3 | hasta 8 |
| Archivo de configuración | No | Sí | Sí |
| Mensajes de error claros y registro | No | Sí | Sí |
| Opciones de ejecución y guía para ejecutarlo de forma programada | No | No | Sí |
| Guía de instalación y uso (README) | Sí | Sí | Sí |
| Lenguaje | Python | Python | Python |
| Hacer pedido Básico | Hacer pedido Estándar | Hacer pedido Premium |
Protección de pago
Usted paga al hacer el pedido, pero el dinero solo se libera por un trabajo aceptado.
- Precio fijoEl precio del paquete no cambia después del pago.
- El dinero queda reservadoAl pagar, el importe solo queda reservado. Pasa a Dleex cuando usted acepta el trabajo.
- Revisado antes de la entregaCada resultado pasa un control de calidad antes de llegar a usted, y lo ve en la página del pedido antes de aceptarlo.
- Cambios gratuitosSolicite cambios dentro de su brief tantas veces como permita el paquete.
- Aceptación a los 3 díasSi en los 3 días siguientes a la entrega no acepta el trabajo ni solicita cambios, se acepta automáticamente. Si escribe en el chat del pedido después de la entrega, el pedido queda en espera; cuando le respondamos, podremos reiniciar el plazo de 3 días y se lo indicaremos en el chat.
- Rehacer el trabajo o reembolso totalSi el resultado no se ajusta a su brief y los cambios no lo resolvieron, o el trabajo tarda más del doble de su plazo, escriba en el chat del pedido: rehacemos el trabajo o le reembolsamos el pago íntegro.
Preguntas y respuestas
¿Qué formatos puede leer?
JPEG, PNG, GIF, BMP, TIFF y WebP. Las fotos HEIC de iPhone y los archivos RAW de cámaras necesitan una biblioteca adicional; díganos si los tiene y le diremos si caben en su paquete.
¿Perderán calidad las fotos?
Algo, como con cualquier compresión, pero con los ajustes habituales cuesta notarlo en pantalla. Usted fija la calidad en la configuración y puede probar varios valores con fotos de muestra.
¿Puede crear también WebP?
Sí, puede guardar WebP junto al JPEG dentro del mismo paquete. Si el objetivo principal es WebP, vea nuestra oferta de conversión de imágenes a WebP.
¿Redimensionarán ustedes mis fotos?
No. Usted ejecuta el script en su ordenador, así que sus fotos se quedan con usted. Solo necesitamos unas muestras.
¿No encontró su respuesta?


