Exportar datos a CSV en PowerShell
-
Exportar datos a CSV con el cmdlet de PowerShell
Export-CSV
-
Exportar datos a CSV con el cmdlet de PowerShell
ConvertTo-CSV
El archivo CSV es solo un archivo de texto delimitado con un formato específico aplicado a su contenido. El formato es muy similar a una estructura de tabla simple, como se muestra en el siguiente ejemplo.
Por ejemplo,
Name, NIC, Phone
John, 394829G, +671392392
Risabh, 32909340J, +12328833
El CSV
es la forma abreviada de Valores separados por comas
. Como sugiere el tipo de archivo (CSV), separa los valores de datos mediante comas. Hay diferentes herramientas disponibles para generar archivos CSV con datos.
En este artículo, discutiremos cómo exportar datos a un archivo CSV en PowerShell.
Exportar datos a CSV con el cmdlet de PowerShell Export-CSV
El Export-CSV
es uno de los cmdlets de PowerShell que se pueden usar para exportar datos en formato CSV. Este cmdlet es relativamente fácil de usar y también hay algunas propiedades disponibles.
La sintaxis del cmdlet Export-CSV
<data_objects/content> | Export-CSV -Path <path>
<objetos_de_datos/contenido>
: los objetos de datos/contenido que se alimentan al cmdlet Export-CSV.Export-CSV
: el cmdlet que se encarga de exportar datos en formato CSV.-Path
: La ruta donde se guardará el archivo csv.
Ejemplo 01
Usaremos el cmdlet Get-Process
para devolver algunos objetos de datos, y esos pueden alimentarse al cmdlet Export-CSV
para exportar en formato CSV.
Get-Process
Producción :
Handles NPM(k) PM(K) WS(K) CPU(s) Id SI ProcessName
313 14 3712 10756 7.69 39500 0 ApplicationFrameHost
507 30 22864 22836 2.11 18156 2 armsvc
Puede haber varios objetos de proceso devueltos. Podemos usar el operador de tubería (|)
para enviar los objetos devueltos al cmdlet Export-CSV
. Luego puede verificar el contenido CSV exportado usando el cmdlet Get-Content
.
Get-Process | Export-CSV -Path .\ProcessObjects.csv
Get-Content -Path .\ProcessObjects.csv
Producción :
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...
Hay pocas propiedades útiles disponibles para alterar el comportamiento predeterminado del cmdlet Export-CSV
.
Ejemplo 02
Get-Process | Export-CSV -Path .\ProcessObjects.csv -Delimiter ';'
Get-Content -Path .\ProcessObjects.csv
Producción :
"ProcessName";"SI";"Handles";"VM";"WS";"PM";"NPM"; .....
"armsvc";"2";"511";"2203597099008";"35364864";"21979136";"30048"; ...
La opción -Delimiter
cambia el delimitador del predeterminado ,
al símbolo especificado.
Exportar datos a CSV con el cmdlet de PowerShell ConvertTo-CSV
El cmdlet ConvertTo-CSV
es casi similar al cmdlet Export-CSV
mencionado anteriormente. La única diferencia entre los dos es que el cmdlet Export-csv
guarda las cadenas CSV en un archivo, pero no es el caso con ConvertTo-CSV
. Simplemente devuelve las cadenas de valor separadas por comas.
La sintaxis del cmdlet ConvertTo-CSV
<data_objects/content> | ConvertTo-CSV
<data_objects/content>
: los objetos de datos/contenido que se alimentan al cmdletConvertTo-CSV
.ConvertTo-CSV
: El cmdlet que se encarga de devolver cadenas CSV.
Ejemplo
Get-Process | ConvertTo-Csv
Producción :
"ProcessName","SI","Handles","VM","WS","PM","NPM", .....
"armsvc","2","511","2203597099008","35364864","21979136","30048", ...
"xyz","0","501","299393939","9982824","0021000","393393", ...p
Por lo tanto, los cmdlets Export-CSV
y ConvertTo-CSV
son herramientas útiles para generar datos con formato CSV usando PowerShell.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.