Extraé datos de PDFs y HTML automáticamente
Sé lo que es estar perdidísimo entre carpetas, archivos PDF pesados y páginas HTML, cargando a mano una y otra vez la misma información de cada empleado en un Excel. Es un laburo agotador, propenso a errores humanos y que te consume horas que podrías usar en tareas que realmente aporten valor. Sentís que estás perdiendo el tiempo en un proceso mecánico que no debería existir.
- Conexión y lectura masiva: Configurar un flujo de trabajo que recorra toda la carpeta, abra cada archivo uno por uno y detecte los patrones de texto (como “Fecha de llegada” o “Proyecto finalización”) donde residen los datos clave.
- Transformación y consolidación: Limpiar el ruido visual de los archivos, extraer únicamente los valores numéricos o fechas que importan y volcar todo en una tabla única de Excel que se actualice con un solo clic cada vez que agregues un nuevo perfil.
Implementación Detallada
Para lograr esto sin escribir código complejo ni usar macros complicadas que se rompen con cualquier cambio, vamos a usar el motor de Power Query que ya tenés en tu Excel. Olvidate de “hand jamming”; vamos a configurar una tubería de datos.
Paso 1: Preparación del terreno
Creá una carpeta única (por ejemplo, C:\Proyectos\Perfiles_Empleados). Cada vez que descargues un perfil de la web, guardalo ahí con el formato que ya planeaste: Nombre-peramos-perfil.pdf o .html. La clave es que todos vivan en el mismo lugar.
Paso 2: Conectar Excel a la carpeta
- Abrí un Excel nuevo.
- Andá a la pestaña Datos > Obtener datos > De un archivo > De una carpeta.
- Buscá y seleccioná tu carpeta
Perfiles_Empleados. - Se abrirá una ventana con la lista de archivos detectados. No le des a “Combinar”, dale clic al botón Transformar datos. Esto te va a abrir el Editor de Power Query.
Paso 3: El corazón de la automatización (La extracción)
Acá es donde ocurre la magia. Ahora tenés una columna llamada Content que tiene los archivos binarios. Necesitamos “abrir” esos archivos.
-
Si tus archivos son HTML:
- Agregá una Columna personalizada (pestaña Agregar columna).
- En la fórmula, escribí:
= Html.Table([Content], {{"Texto", "body"}}) - Esto va a crear una nueva columna con el contenido del HTML. Expandí esa columna haciendo clic en las dos flechitas que aparecen en el encabezado.
-
Si tus archivos son PDF:
- Agregá una Columna personalizada.
- En la fórmula, escribí:
= Pdf.Tables([Content]) - Expandí la columna resultante. Verás que Power Query detecta “Pages” o “Tables”. Elegí la opción de
Pages.
Paso 4: Localización de datos específicos (El filtrado) Una vez que tenés el texto desordenado, necesitamos buscar tus etiquetas (ej. “Arrival Date”). No busques en todo el archivo, buscá filas específicas:
- Usá la función Filtro de filas en la columna donde está el texto para quedarte solo con las filas que contengan palabras clave como “Arribo”, “Salida” o “Inicio”.
- Si los datos están en una estructura de “Etiqueta” y “Valor” (uno arriba del otro), usá la función Columna de índice para poder identificar qué valor le pertenece a qué etiqueta.
- Una vez que tengas el dato, aplicá Transformar > Tipo de dato > Fecha para asegurarte de que Excel no lo tome como un texto cualquiera.
Paso 5: Carga final Cuando veas en la vista previa que tenés una fila por cada persona con sus fechas correctas, andá a la pestaña Inicio y dale clic a Cerrar y cargar. Ahora, cada vez que pegues un archivo nuevo en la carpeta, solo tenés que ir a tu Excel, hacer clic derecho en la tabla y darle a Actualizar. ¡Listo! El trabajo sucio lo hace la herramienta.
Herramienta Sugerida
La herramienta ideal es Power Query (integrado en Microsoft Excel). No necesitás instalar nada nuevo ni pagar suscripciones. Es un motor de transformación de datos profesional que ya tenés disponible. Es perfecto para este caso porque está diseñado específicamente para “limpiar” archivos desordenados y consolidar múltiples fuentes en una sola tabla estructurada, eliminando la necesidad de macros de VBA que son difíciles de mantener.
Prompt para copiar
Si te trabás con la fórmula exacta porque tu HTML o PDF tiene una estructura muy particular, copiá este prompt y pegalo en ChatGPT o Claude junto con un fragmento del texto que querés extraer:
Actuá como un experto en Power Query (Lenguaje M). Tengo una carpeta con archivos [PDF o HTML] que contienen información de empleados. Necesito una fórmula de "Columna Personalizada" para extraer específicamente el valor que aparece después del texto "[Escribí acá la etiqueta, ej: Fecha de Ingreso]". El formato de mis archivos es [Describí brevemente si es una tabla o texto suelto]. Por favor, proporcioname el paso a paso técnico y la fórmula exacta para usar en el Editor de Power Query.