HOWTO · PowerShell

Importar archivo de texto y formatear y exportarlo a CSV en PowerShell

Este artículo describe cómo podemos importar un archivo de texto y formatearlo y exportarlo a un archivo CSV con PowerShell. Los comandos de PowerShell como Get-Content, ConvertFrom-StringData y Export-Csv son útiles cuando desea importar archivos y exportarlos como archivos CSV.

En esta página

Este artículo describe cómo podemos importar un archivo de texto y formatearlo y exportarlo a un archivo CSV con PowerShell.

Los comandos de PowerShell como Get-Content, ConvertFrom-StringData y Export-Csv son útiles cuando desea importar archivos y exportarlos como archivos CSV. Si no está seguro de cómo se hace esto, quédese, tenemos mucho que desempacar.

Importar archivo de texto y formatear y exportarlo a CSV en PowerShell

Para facilitar el contexto, usaremos un ejemplo.

Supongamos que la imagen a continuación representa el contenido del archivo de texto que deseamos importar, formatear y exportar a un archivo CSV. ¿Cómo lo haríamos?

Archivo de texto

El primer paso es analizar los datos en un objeto personalizado, lo que facilita su procesamiento. A continuación se muestra el script que utilizaremos:

$usrObj = [pscustomobject] ((Get-Content -Raw C:\Users\pc\Demo\Users.txt) -replace ':', '=' |
  ConvertFrom-StringData)

Usamos -replace ':', '=' para cambiar : a = ya que ConvertFrom-StringData solo acepta = como separador entre una clave y su valor correspondiente.

Además, usamos [pscustomobject] para convertir la tabla hash generada por ConvertFrom-StringData en un objeto personalizado.

Podemos formatear esto en una tabla en el orden que deseemos con el siguiente script:

$usrObj | Format-Table 'Username', 'Title', 'Department', 'Manager', 'Similar User'

Esto producirá el siguiente resultado:

Tabla de formato

Luego podemos guardar la información en un archivo CSV llamado Users.csv. A continuación se muestra el script que utilizaremos:

$usrObj | Export-Csv -NoTypeInformation -Encoding Utf8 Users.csv

Nuestro archivo CSV debería verse así:

Archivo CSV inicial

En conclusión, puede importar y exportar un archivo de texto como un archivo CSV en PowerShell. Comandos como Get-Content, ConvertFrom-StringData y Export-Csv son útiles en tales escenarios.