PowerAutomate y la receta para crear archivos CSV

Javier Ferreiro
Anyone can Automate
5 min readSep 22, 2021

--

Tal y como vimos en ‘Power Automate y el hechizo para crear archivos Excel’, resulta sencillo generar un archivo Excel a partir de una matriz de resultados… pero también tedioso, pues habíamos necesitado hasta 7 pasos para resolver nuestro reto: leer el contenido de la plantilla Excel, crear una nueva instancia de archivo, incorporar un bucle que itere sobre la matriz de resultados e incorpore una nueva fila a la tabla objetivo de nuestra nueva Excel, esperar unos segundos tras la finalización del bucle a recuperar el contenido del archivo y enviar la notificación.

Icons made by Freepik from Flaticon

Sobre ese mismo caso de uso hoy vamos a explorar otra solución mucho más directa, basada en el envío de un fichero CSV. ¿Nos acompañas?

¡Al lío!

Un nuevo esqueleto más sencillo

Y es que lo que en nuestro anterior artículo ocupaba 7 pasos, hoy lo resolveremos con 2. Además, aprovecharemos a incorporar a nuestro Flow una de las mejoras prometidas en el texto original y que documentamos días después a través de nuestra cuenta de Twitter:

Resumiendo para quienes no leísteis o no recordáis el caso de uso recogido en nuestro anterior artículo: con una periodicidad diaria:

  • obteníamos la fecha de ejecución del Flow,
  • leíamos los registros de una fuente de datos,
  • seleccionábamos apenas 3 atributos que nos interesaban de cada uno de los registros, y
  • filtrábamos éstos, quedándonos sólo con aquellos cuya fecha asociada resultaba ser la de ejecución del Flow.

A través de nuestra cuenta de Twitter proponíamos diversas mejoras, una de ellas incorporar en ese preciso momento un bloque Condición con la intención de evaluar el número de registros así obtenidos, pues sólo si éste era superior a cero continuábamos ejecutando los siguientes pasos.

¿Y de qué siguientes pasos hablamos? De son los famosos 7 pasos que mencionábamos en la introducción de nuestro articulo, necesarios para crear un nuevo archivo Excel, agregarle los registros filtrados y distribuirlo por correo electrónico.

En el diagrama que incluimos a continuación, esos 7 pasos ya no aparecen, pues han sido sustituidos por apenas dos, que hemos ubicado en la rama de la izquierda de nuestro bloque ‘Condición’.

Así pues, con esta nueva solución, la magia correrá por cuenta de la acción ‘Crear tabla CSV’ -Create CSV table- del conector ‘Operaciones de datos’ y la acción ‘Enviar correo electrónico (v2)’ -Send email (V2)- del conector ‘Office 365 Outlook’, correo electrónico al que adjuntaremos el objetivo que nos hemos marcado hoy, nuestro archivo .csv

¡Veámoslo con más detalle!

Reto#00: Nunca he trabajado con formato CSV

Si los archivos CSV no tienen secretos para tí, te recomiendo que saltes al siguiente reto. Ahora bien, si no estás del todo seguro qué demonios es el formato CSV, basta con echar mano de la Wikipedia

“Los archivos CSV (del inglés comma-separated values) son un tipo de documento en formato abierto sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas (o punto y coma en donde la coma es el separador decimal como en Chile, Perú, Argentina, España, Brasil, entre otros) y las filas por saltos de línea.”

El formato CSV tiene interesantes ventajas, entre ellas su universalidad, pero si no te gusta salir de tu zona de confort, recuerda que a través de tu buscador favorito en Internet encontrarás mil y un recursos como éste donde explican cómo transformar un archivo .csv a .xlsx desde el propio Microsoft Excel.

Reto#01: Creando nuestra tabla CSV

Para quienes estéis familiarizados con la acción ‘Crear tabla HTML’, no encontraréis diferencia alguna a la hora de asignar valores a las entradas de su acción hermana ‘Crear tabla CSV’. En nuestro Flow ejemplo, además, coincide que hemos seleccionado previamente a través de la acción ‘Seleccionar’ -Select- los atributos que queremos mostrar para cada uno de los registros filtrados, de modo que nos bastará con asignar matriz de entrada y mantener el valor de la entrada en ‘Automático’:

Realizamos una prueba asegurándonos de que para el día en el que estamos ejecutando nuestro Flow haya registros en nuestra fuente de datos, y de esta forma poder inspeccionar la salida de este bloque de acción a través de la consola de ejecución de Power Automate. Comprobaremos además que, no importa las particularidades regionales a las que podamos estar acostumbrados, Microsoft Power Automate incorpora comas como separadores:

Convocatoria,Alumno,CheckIn
2021-09-08T22:00:00Z,eduardo.*****@*****.com,True
2021-09-08T22:00:00Z,sergio.*****@*****.com,True
2021-09-08T22:00:00Z,cristina.*****@*****.com,True
2021-09-08T22:00:00Z,domingo.*****@*****.com,False
2021-09-08T22:00:00Z,joseluis.*****@*****.com,True
2021-09-08T22:00:00Z,elenamaria.*****@*****.com,False
2021-09-08T22:00:00Z,claudia.*****@*****.com,True

Reto#02: Adjuntando nuestro archivo CSV

El paso final será adjuntar la salida de ‘Crear tabla CSV’ a nuestro correo electrónico de notificación, pero para ello deberemos transformarla en un archivo. ¿Cómo?

Como nos gusta recordar una y otra vez, el diablo está en los detalles. La clave en esta ocasión reside en :

  • incluir la extensión .csv al asignar nombre al nuevo archivo, y
  • asignar la única salida del bloque ‘Crear tabla CSV’ como contenido de nuestro nuevo archivo

Salvamos nuestro nuevo diseño, ejecutamos nuestro Flow asegurándonos de que nuestra fuente de datos disponga de registros para el día de hoy y…

¿Salió la notificación?

¡Saludos, PowerNautas!

--

--