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. 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?
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:
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í:
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.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn