Saltar al contenido

Importar un archivo CSV en PowerShell: ¡Simple y eficiente!

Si estamos buscando importar un archivo CSV en PowerShell, podemos hacerlo de forma simple y eficiente. Esto nos va a permitir llevar esta información a distintos repositorios para su posterior procesamiento. En este articulo vamos a ver como realizar este proceso paso a paso.

Situación

En cierta ocasiones podemos tener un archivo que es cargado desde un FTP o bien descargado manualmente a un directorio. debemos considerar que estas tareas pueden ser tediosas y repetitivas y es por ello que powershell puede ser de gran ayuda.

Para importar un archivo CSV en PowerShell, lo primero que necesitamos hacer es abrir nuestro IDE de PowerShell ISE o VSCode y crear una nueva sesión con un nuevo script.

Índice

    Como importar CSV en powershell a distintos formatos

    Un ejemplo de estos archivos podría ser un listado de clientes o productos.

    Para poder realizar la importación del archivo CSV en PowerShell lo primero que necesitamos hacer es ubicar el directorio donde se almacena esta informacion luego usaremos el comando

    C:PS > Import-CSV .clientes.csv

    Este comando nos permitira importar el archivo CSV en PowerShell y almacenarlo en la variable $clientes

    Para verificar que se ha cargado correctamente podemos en primer lugar ver el contenido de la variable $clientes y en segundo lugar podemos ver el tipo de dato que contendrá.

    C:PS > $clientes

    C:PS > $clientes.GetType()

    Como podemos observar en el contenido de la variable $clientes se encuentran los datos que estaban en el archivo CSV y además se han creado las columnas correspondientes.

    En este caso vemos que el archivo CSV tiene tres columnas: Nombre, Apellido y Edad.

    En la segunda linea podemos ver el tipo de dato que contendrá la variable $clientes , en este caso vemos que es un array de objetos.

    Por último, para poder realizar alguna tarea con estos datos, podemos recorrerlos de la siguiente forma:

    C:PS > foreach($cliente in $clientes){$cliente.Nombre}

    Pasos para importar de CSV a a json

    Es posible que se nos presente la situación de importar un archivo CSV a json con powershell para poder manipular mejor la información.

    Para esto necesitamos usar el comando ConvertTo-Json que se encuentra en el módulo Microsoft.PowerShell.Utility

    C:PS > Import-CSV .clientes.csv | ConvertTo-Json

    En este caso estamos convirtiendo los datos del archivo CSV en formato JSON para poder manipularlos mejor.

    Como podemos observar, la salida de este comando es un JSON con todos los datos del archivo CSV.

    Importar un archivo CSV en PowerShell puede resultar muy útil y ser muy simple de realizar, en este articulo hemos visto un ejemplo de como hacerlo.

    En caso de tener que manipular la información de un archivo CSV, podemos convertirlo a formato JSON para poder trabajar mejor con los datos.

    pasos para importar de CSV a XML

    En algunos casos podemos necesitar importar un archivo CSV a xml para poder trabajar mejor con los datos.

    Para esto, podemos usar el comando ConvertTo-Xml que se encuentra en el módulo Microsoft.PowerShell.Utility

    C:PS > Import-CSV .clientes.csv | ConvertTo-Xml

    Al ejecutar este comando, podemos ver que la salida es un xml con todos los datos del archivo CSV.

    De esta forma podemos trabajar mejor con la información al estar en formato xml.

    Pasos para importar de CSV a sql server

    Como hemos visto en artículos anteriores importar un convertir una tabla a csv con powershell es muy simple ahora que pasa si queremos importar un csv a una tabla de sql server

    Para esto necesitamos usar el comando Invoke-SqlCmd que se encuentra en el módulo SqlServer

    C:PS > Import-CSV .clientes.csv | Invoke-SqlCmd -Database «BASE DE DATOS» -ServerInstance «Nombre del servidor»

    Ejecutando este comando podemos ver que se ha creado la tabla en sql server con todos los datos del archivo CSV.

    De esta forma hemos visto las distintas formas en la cual podemos importar un CSV desde un json, xml y una instancia de base de datos sql server desde unas cuantas lineas de código de powershell.

    Te recomendamos estos cursos

    ¡Hasta la próxima!

    Bye :D!!