Protecció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
Muchos sistemas solo aceptan datos en JSON o XML: una importación a una tienda o un CRM, una carga para un socio, un feed para una app. Este script de Python lee su exportación CSV y escribe el archivo con la estructura que necesita: los nombres de campo, qué campos van dentro de otros, números y fechas con el tipo correcto, y la codificación. En Premium también puede agrupar filas en un registro, como un pedido con todos sus artículos. Envíenos unas filas del CSV y un ejemplo o descripción del JSON o XML que espera la otra parte (su documentación o un archivo de muestra). El script lo ejecuta usted en su ordenador. Convierte los datos que le da: no sube el resultado a ningún sitio ni lo comprueba con el otro sistema.
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 la correspondencia entre columnas y campos; el código también se muestra en la página del pedido.
- JSON o XMLO los dos a la vez a partir de un CSV
- Su estructuraNombres de campo y anidamiento como en su muestra o documentación
- Tipos correctosNúmeros, verdadero o falso, fechas en el formato que necesite
- Codificaciones resueltasSalida en UTF-8 a partir de CSV en cualquier codificación habitual
- Código legibleCon comentarios, fácil añadir un campo más adelante
Cómo funciona
- 1MuestrasUsted envía unas filas del CSV y una muestra del JSON o XML que necesita
- 2CódigoEscribimos el script y la guía para ejecutarlo
- 3PruébeloConvierte su archivo y lo prueba en el sistema que lo necesita
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
10-20 filas de su CSV (valen valores inventados) y cómo debe ser el resultado: un archivo JSON o XML de muestra, la parte de la documentación del otro sistema que lo describe, o un esquema XSD si lo hay. Qué columna va a qué campo, cómo deben escribirse fechas y números, y si varias filas forman un registro. Su sistema: Windows, macOS o Linux.
Le preguntaremos:
- ¿Adónde irá el JSON o XML?
- ¿Cómo es el CSV?
- ¿Cómo debe ser el resultado?
- ¿Dónde se ejecutará?
Comparar paquetes
| Paquetes | BásicoUna conversión plana16 US$ | EstándarConversión con configuración33 US$ | PremiumHerramienta de conversión67 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
¿Puede validar el XML con un esquema?
En Premium sí, si envía el archivo XSD: el script informa de las filas que no encajan. Que el otro sistema acepte finalmente el archivo depende de sus propias comprobaciones.
¿Puede hacerlo a la inversa, de JSON a CSV?
Sí, es el mismo tipo de trabajo. Descríbalo en el brief y envíe una muestra del JSON.
¿Puede enviar el resultado a una API?
Esta oferta crea el archivo. El envío a la API de un servicio puede añadirse dentro del límite de líneas de Premium, si el servicio tiene una API pública y usted pone su propia clave en el archivo de configuración.
¿Necesito saber programar?
No. El README explica cómo instalar Python una vez y ejecutar el script con su archivo.
¿No encontró su respuesta?