Script para ordenar archivosDesarrollo y personalización

Un script de Python que ordena una carpeta caótica en subcarpetas por tipo, fecha o nombre, según sus reglas

Suele estar listo en 15 minutosCambios incluidosControl de calidad
Paquetes
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.

Un script de Python que ordena una carpeta caótica en subcarpetas por tipo, fecha o nombre, según sus reglas

Ejemplo de resultado

Ejemplo del paquete Estándar

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

Una carpeta de Descargas, una carpeta compartida de escaneos o la tarjeta de una cámara se convierten pronto en miles de archivos mezclados. Este script de Python pone cada uno en su sitio según sus reglas: por tipo (los PDF a Documentos, las fotos a Imágenes), por fecha en carpetas de año y mes, o por palabras del nombre, como el nombre de un cliente o un número de factura. Puede copiar o mover los archivos, crea las carpetas que necesita y, cuando ya hay un archivo con el mismo nombre, añade un número en lugar de reemplazarlo. Envíenos la estructura de carpetas que quiere y las reglas. Lo ejecuta usted en su ordenador, así que pruébelo primero con una copia. No se borra nada: los archivos solo cambian de sitio, y solo dentro de las carpetas que indique.

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 carpetas y reglas; el código también se muestra en la página del pedido.
  • Por tipo, fecha o nombreLas reglas que fije, en el orden que fije
  • Copiar o moverUsted elige; los originales pueden quedarse donde están
  • Seguro con los nombresUn archivo con un nombre ya usado recibe un número, no se reemplaza nada
  • Ejecución de pruebaDesde Estándar, una ejecución que solo lista qué iría adónde
  • Código legibleCon comentarios, fácil añadir una regla más adelante

Cómo funciona

  1. 1
    NormasUsted describe las carpetas que quiere y cómo van los archivos en ellas
  2. 2
    CódigoEscribimos el script y la guía para ejecutarlo
  3. 3
    PruébeloLo ejecuta con una copia de la carpeta
  4. 4
    CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error

Qué necesitamos de usted

Qué carpeta ordenar y cuántos archivos tiene aproximadamente, las carpetas que quiere obtener y la regla de cada una: tipos de archivo, fecha (del archivo o de su nombre) o palabras del nombre. Si los archivos deben copiarse o moverse, qué hacer con los que no encajan en ninguna regla y su sistema: Windows, macOS o Linux. Una captura de la carpeta o una lista de 10-20 nombres de archivo ayuda mucho.

Le preguntaremos:

  • ¿Qué carpeta hay que ordenar?
  • ¿Qué carpetas debe crear y qué va en cada una?
  • ¿Copiar o mover?
  • ¿Dónde se ejecutará?

Comparar paquetes

PaquetesBásicoUna carpeta, una regla16 US$EstándarOrdenación con configuración33 US$PremiumHerramienta de ordenación67 US$
Plazo1 día2 días3 días
Cambios123
Códigohasta 150 líneashasta 400 líneashasta 1.000 líneas
Archivos de código1hasta 3hasta 8
Archivo de configuraciónNoSíSí
Mensajes de error claros y registroNoSíSí
Opciones de ejecución y guía para ejecutarlo de forma programadaNoNoSí
Guía de instalación y uso (README)SíSíSí
LenguajePythonPythonPython
Hacer pedido BásicoHacer pedido EstándarHacer 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.
Cómo funciona →

Preguntas y respuestas

¿Puede borrar duplicados o archivos inútiles?

No borra nada. Puede poner los archivos que no encajan en ninguna regla, o las copias con el mismo nombre y tamaño, en una carpeta aparte para que usted los revise y los borre.

¿Puede ordenar los archivos a medida que llegan?

Ordena lo que hay en la carpeta cada vez que lo ejecuta. Premium añade una guía para ejecutarlo de forma programada con el Programador de tareas, cron o launchd, por ejemplo cada hora.

¿Funciona con una carpeta de red o en la nube?

Sí, si la carpeta está sincronizada con su ordenador y aparece como una carpeta normal. No inicia sesión en servicios en la nube.

¿Ordenarán ustedes los archivos por mí?

No. Usted ejecuta el script en su ordenador, así que sus archivos se quedan con usted. Nos basta con una lista de nombres o una captura.

¿No encontró su respuesta?

Paquetes