Convierte las propiedades de objeto con formato CSV (Valores separados por comas) en versiones CSV de los objetos originales.
Sintaxis
ConvertFrom-CSV [[-Delimiter] <char>] [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>] ConvertFrom-CSV -UseCulture [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]
Descripción
El cmdlet ConvertFrom-CSV crea objetos a partir de cadenas CSV de longitud variable generadas por el cmdlet ConvertTo-CSV.
Puede utilizar los parámetros del cmdlet ConvertFrom-CSV para especificar la fila de encabezado de columna, que determina los nombres de propiedad de los objetos resultantes, especificar el delimitador de elementos o indicar a ConvertFrom-CSV que use como delimitador el separador de lista de la actual referencia cultural.
Los objetos creados por ConvertFrom-CSV son versiones CSV de los objetos originales. Los valores de propiedad de los objetos CSV son versiones de cadena de los valores de propiedad de los objetos originales. Las versiones CSV de los objetos no tienen ningún método.
También puede utilizar los cmdlets Export-CSV e Import-CSV para convertir los objetos en cadenas CSV en un archivo (y viceversa). Estos cmdlets son iguales que los cmdlets ConvertTo-CSV y ConvertFrom-CSV, excepto en que guardan las cadenas CSV en un archivo.
Parámetros
-Delimiter <char>
Especifica el delimitador que separa los valores de propiedad en las cadenas CSV. El delimitador predeterminado es una coma (,). Escriba un carácter, como un signo de dos puntos (:). Para especificar un signo de punto y coma (;), escríbalo entre comillas.
Si especifica un carácter que no sea el delimitador usado en las cadenas CSV, ConvertFrom-CSV no podrá crear objetos a partir de las cadenas CSV. En lugar de ello, devolverá las cadenas.
¿Requerido? |
false |
¿Posición? |
2 |
Valor predeterminado |
',' |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Header <string[]>
Especifica una fila de encabezado de columna alternativa para la cadena importada. El encabezado de columna determina los nombres de las propiedades del objeto que ConvertFrom-CSV crea.
Escriba una lista de los encabezados de columna separados por comas. Incluya cada elemento entre comillas (simples o dobles). No incluya la cadena de encabezado entre comillas. Si escribe menos encabezados de columna que columnas existentes, las columnas restantes no tendrán encabezado. Si escribe más encabezados que columnas existentes, los encabezados adicionales se omitirán.
Si usa el parámetro Header, omita la cadena de encabezado de columna de las cadenas CSV. De lo contrario, ConvertFrom-CSV crea un objeto adicional a partir de los elementos en la fila de encabezado.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-InputObject <PSObject[]>
Especifica las cadenas CSV que se van a convertir en objetos. Escriba una variable que contenga las cadenas CSV, o bien, escriba un comando o una expresión que obtenga las cadenas CSV. También puede canalizar las cadenas CSV a ConvertFrom-CSV.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-UseCulture
Utilice como delimitador de cadena el separador de lista de la actual referencia cultural. El delimitador predeterminado es una coma (,).
Para obtener el separador de lista de una referencia cultural, utilice el siguiente comando: (Get-Culture).TextInfo.ListSeparator. Si especifica un carácter que no sea el delimitador usado en las cadenas CSV, ConvertFrom-CSV no podrá crear objetos a partir de las cadenas CSV. En lugar de ello, devolverá las cadenas.
¿Requerido? |
true |
¿Posición? |
named |
Valor predeterminado |
Comma |
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Puede canalizar las cadenas CSV a ConvertFrom-CSV. |
Salidas |
System.Management.Automation.PSObject ConvertFrom-CSV devuelve los objetos descritos por las propiedades en las cadenas CSV. |
Notas
Dado que los objetos importados son versiones CSV del tipo de objeto, las entradas de formato de tipo de Windows PowerShell que dan formato a las versiones no CSV del tipo de objeto no los reconocen ni les dan formato.
En formato CSV, cada objeto viene representado por una lista delimitada por comas de los valores de propiedad del objeto. Los valores de propiedad se convierten en cadenas (mediante el método ToString() del objeto) de modo que se representan de manera general mediante el nombre del valor de propiedad. ConvertTo-CSV no exporta los métodos del objeto.
Ejemplo 1
C:\PS>$p = get-process | convertto-csv C:\PS> $p | convertfrom-csv Descripción ----------- Estos comandos convierten los procesos del equipo local en formato CSV y, a continuación, los restauran en formato de objeto. El primer comando utiliza el cmdlet Get-Process para obtener los procesos en el equipo local. Un operador de canalización (|) los envía al cmdlet ConvertTo-CSV, que convierte el objeto de proceso en formato CSV. Las cadenas CSV se guardan en la variable $p. El segundo comando usa un operador de canalización para enviar las cadenas CSV guardadas en la variable $p al cmdlet ConvertFrom-CSV. El cmdlet convierte las cadenas CSV en versiones CSV de los objetos de proceso originales.
Ejemplo 2
C:\PS>$date = get-date | convertto-csv -delimiter ";" C:\PS> convertfrom-csv -inputobject $date -delimiter ";" Descripción ----------- Estos comandos convierten un objeto de datos en formato CSV y, a continuación, en formato de objeto CSV. El primer comando utiliza el cmdlet Get-Date para obtener la fecha y hora actuales. Un objeto de canalización (|) envía la fecha a los cmdlets ConvertTo-CSV, que convierte el objeto de fecha en una serie de cadenas CSV. El comando utiliza el parámetro Delimiter para especificar un delimitador de punto y coma. Las cadenas se guardan en la variable $date. El segundo comando usa el cmdlet ConvertFrom-CSV para volver a convertir las cadenas CSV guardadas en la variable $date en formato de objeto. El comando utiliza el parámetro InputObject para especificar las cadenas CSV y el parámetro Delimiter para especificar el delimitador de punto y coma.
Ejemplo 3
C:\PS>$j = start-job -scriptblock { get-process } | convertto-csv C:\PS> $header = "MoreData","StatusMessage","Location","Command","State","Finished","InstanceId","SessionId","Name","ChildJobs","Output","Error","Progress","Verbose","Debug","Warning","StateChanged" # Delete header from $j C:\PS> $j = $j[0], $j[2..($j.count - 1)] $j | convertfrom-csv -header $header MoreData : True StatusMessage : Location : localhost Command : get-process State : Running Finished : System.Threading.ManualResetEvent InstanceId : 6fcb6578-7f42-4d93-9f23-9937f6aac1a2 SessionId : 1 Name : Job1 ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job] Output : System.Management.Automation.PSDataCollection`1[System.Management.Automation.PSObject] Error : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ErrorRecord] Progress : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ProgressRecord] Verbose : System.Management.Automation.PSDataCollection`1[System.String] Debug : System.Management.Automation.PSDataCollection`1[System.String] Warning : System.Management.Automation.PSDataCollection`1[System.String] StateChanged : Descripción ----------- En este ejemplo se muestra cómo utilizar el parámetro Header de ConvertFrom-Csv para cambiar los nombres de las propiedades en el objeto importado resultante. El primer comando utiliza el cmdlet Start-Job para iniciar un trabajo en segundo plano que ejecuta un comando Get-Process en el equipo local. Un operador de canalización (|) envía el objeto de trabajo resultante al cmdlet ConvertTo-CSV, que lo convierte en formato CSV. Un operador de asignación (=) guarda el formato CSV resultante en la variable $j. El segundo comando guarda un encabezado en la variable $header. A diferencia del encabezado predeterminado, este encabezado utiliza "MoreData" en lugar de "HasMoreData" y "State" en lugar de "JobStateInfo". El tercer comando elimina el encabezado original (segunda línea) de las cadenas CSV y lo devuelve a la variable $j. El cuarto comando usa el cmdlet ConvertFrom-CSV para convertir las cadenas CSV en la versión CSV del objeto de trabajo. El comando utiliza un operador de canalización para enviar el contenido de $j a ConvertFrom-CSV. El objeto resultante tiene las propiedades "MoreData" y "State", tal y como especifica el encabezado.
Ejemplo 4
C:\PS>(get-culture).textinfo.listseparator C:\PS> ConvertFrom-Csv -inputobject $services -UseCulture Descripción ----------- El comando utiliza el cmdlet ConvertFrom-CSV para convertir las cadenas CSV de los objetos de servicio que se han convertido mediante el cmdlet ConvertTo-CSV. El comando utiliza el parámetro UseCulture para indicar a ConvertFrom-CSV que use el delimitador (separador de lista) de la actual referencia cultural. Si usa el parámetro UseCulture, asegúrese de que el separador de lista de la actual referencia cultural coincida con el delimitador utilizado en las cadenas CSV. De lo contrario, ConvertFrom-CSV no podrá generar objetos a partir de las cadenas CSV. En este ejemplo, antes de usar el comando ConvertFrom-CSV, se utiliza el comando Get-Culture para comprobar el separador de lista.
Vea también