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
Shopify importa productos desde un archivo CSV, pero solo con su propia estructura: un Handle para un producto y todas sus variantes, nombres y valores de opciones en columnas fijas, imágenes como enlaces públicos. Este script de Python convierte el archivo que tiene, la lista de precios de un proveedor, una exportación de su antigua tienda o su propio Excel, a esa estructura. Asigna sus columnas a las de Shopify, convierte tallas y colores en variantes desde Estándar, limpia precios y stock y añade etiquetas. Sigue la plantilla CSV de productos actual de Shopify, que puede descargar desde su panel. Las imágenes deben estar en enlaces que Shopify pueda abrir. Usted importa el archivo en Shopify; nunca iniciamos sesión en su tienda. Pruebe primero con unos pocos productos: el resultado solo es tan completo como sus datos.
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 de columnas; el código también se muestra en la página del pedido.
- La estructura de ShopifySegún la plantilla CSV de productos actual de Shopify
- Variantes agrupadasDesde Estándar, tallas y colores bajo un mismo producto
- Precios y stock limpiosNúmeros que Shopify acepta, sin símbolos de moneda ni espacios
- Problemas listadosSe informa de las filas sin precio, SKU o imagen
- Código legibleCon comentarios, fácil añadir una columna más adelante
Cómo funciona
- 1ArchivosUsted envía una muestra de su archivo de productos y dice qué va dónde
- 2CódigoEscribimos el script y la guía para ejecutarlo
- 3PruébeloImporta unos pocos productos en Shopify y los revisa
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
20-30 filas del archivo que tiene (lista de precios del proveedor, exportación de la antigua tienda o su propia tabla), cómo se escriben en él las variantes (una fila por talla, o tallas en una celda), dónde están las imágenes (enlaces, o archivos que subirá antes a Shopify) y cómo deben fijarse los precios. Si la tiene, una exportación de unos pocos productos de su tienda Shopify, para que las columnas coincidan exactamente. Su sistema: Windows, macOS o Linux.
Le preguntaremos:
- ¿Qué archivo tiene ahora?
- ¿Cómo se escriben en él las variantes?
- ¿Dónde están las imágenes?
- ¿Cómo deben fijarse los precios?
Comparar paquetes
| Paquetes | BásicoProductos simples16 US$ | EstándarProductos con variantes33 US$ | PremiumHerramienta de importación de productos67 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
¿Importarán ustedes los productos en mi tienda?
No. Nunca iniciamos sesión en su tienda. Usted importa el CSV en su panel de Shopify; el README indica dónde y qué opciones elegir.
¿Y las imágenes que son archivos de mi ordenador?
Shopify solo admite imágenes en un CSV como enlaces que pueda abrir. Suba antes los archivos a la sección Archivos de Shopify y dé al script la lista de sus enlaces, o use los enlaces que le dé su proveedor.
¿Puede actualizar precios y stock de productos que ya tengo?
Sí, si los Handles coinciden con sus productos actuales: Shopify puede sobrescribir los productos con el mismo Handle al importar. Pruébelo primero con unos pocos productos.
¿Redactará descripciones de productos?
No. Traslada las descripciones y los datos de su archivo y puede ordenar su formato. Los textos que no tiene se dejan vacíos y se indican.
¿No encontró su respuesta?


