PowerShell:
Trabajando con CSV

Cómo:

Leer un Archivo CSV

Para leer desde un archivo CSV, utiliza el cmdlet Import-Csv. Este cmdlet lee el archivo y lo convierte en objetos personalizados de PowerShell para cada fila.

# Importando un archivo CSV
$data = Import-Csv -Path "C:\Data\users.csv"
# Mostrar el contenido
$data

Salida de muestra:

Name    Age    City
----    ---    ----
John    23     New York
Doe     29     Los Ángeles

Escribir en un Archivo CSV

Por el contrario, para escribir datos en un archivo CSV, se utiliza el cmdlet Export-Csv. Este cmdlet toma objetos de entrada y los convierte en un formato CSV.

# Creando un objeto para exportar
$users = @(
    [PSCustomObject]@{Name='John'; Age='23'; City='Nueva York'},
    [PSCustomObject]@{Name='Doe'; Age='29'; City='Los Ángeles'}
)

# Exportando a un archivo CSV
$users | Export-Csv -Path "C:\Data\new_users.csv" -NoTypeInformation

Después de ejecutar, se crea un archivo llamado new_users.csv con los datos proporcionados.

Filtrar y Manipular el Contenido de un CSV

Para filtrar o manipular los datos de un archivo CSV, utiliza las capacidades de manipulación de objetos de PowerShell. Por ejemplo, para seleccionar solo los usuarios mayores de cierta edad y de una ciudad específica:

# Importando y filtrando datos
$filteredData = Import-Csv -Path "C:\Data\users.csv" | Where-Object {
    $_.Age -gt 25 -and $_.City -eq 'Los Ángeles'
}

# Mostrar datos filtrados
$filteredData

Salida de muestra:

Name    Age    City
----    ---    ----
Doe     29     Los Ángeles

Utilizar Bibliotecas de Terceros

Aunque los cmdlets nativos de PowerShell suelen ser suficientes para tareas comunes, operaciones más complejas podrían beneficiarse de bibliotecas o herramientas de terceros. Sin embargo, para la manipulación estándar de CSV, como leer, escribir, filtrar o ordenar, los cmdlets integrados de PowerShell como Import-Csv y Export-Csv suelen ofrecer una funcionalidad robusta sin necesidad de bibliotecas adicionales.