ConvertFrom-CSV

Converte propriedades de objeto de um formato de valores separados por vírgula (CSV) em versões CSV dos objetos originais.

Sintaxe

ConvertFrom-CSV [[-Delimitador] <char>] [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]
ConvertFrom-CSV -UseCulture [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]

Descrição

O cmdlet ConvertFrom-CSV cria objetos de strings CSV de tamanho variável gerados pelo cmdlet ConvertTo-CSV.

É possível usar os parâmetros do cmdlet ConvertFrom-CSV para especificar a linha do cabeçalho da coluna que determina os nomes de propriedade dos objetos resultantes para especificar o delimitador do item, ou para direcionar o ConvertFrom-CSV para usar o separador de lista da cultura atual como o delimitador.

Os objetos que o ConvertFrom-CSV cria são versões CSV dos objetos originais. Os valores das propriedades dos objetos CSV são versões de string dos valores das propriedades dos objetos originais. As versões CSV dos objetos não têm nenhum método.

Também é possível usar os cmdlets do Export-CSV e Import-CSV para converter objetos em strings CSV em um arquivo (e vice-versa). Esses cmdlets são iguais aos cmdlets ConvertTo-CSV e ConvertFrom-CSV, exceto que eles salvam as strings CSV em um arquivo.

Parâmetros

-Delimitador <char>

Especifica o delimitador que separa os valores de propriedade nas strings CSV. O padrão é uma vírgula (,). Digite um caractere, como dois pontos (:). Para especificar um ponto-e-vírgula (;), coloque-o entre aspas.

Se você especificar um caractere diferente do delimitador usado nas strings CSV, ConvertFrom-CSV não poderá criar objetos a partir das strings CSV. Em vez disso, ele retornará as strings.

Necessário? false
Posição? 2
Valor padrão ','
Aceitar entrada do pipeline? false
Aceitar caracteres curinga? false

-Header <string[]>

Especifica uma linha de cabeçalho de coluna alternativa para a string importada. O cabeçalho da coluna determina os nomes das propriedades do objeto criados pelo ConvertFrom-CSV cria.

Digite uma lista de cabeçalhos de coluna separados por vírgula. Coloque cada item entre aspas (simples ou duplas). Não coloque a string do cabeçalho entre aspas. Se você inserir menos cabeçalhos de coluna do que o número de colunas, as colunas restantes não terão cabeçalhos. Se você inserir mais cabeçalhos do que o número de colunas, os cabeçalhos extras serão ignorados.

Ao usar o parâmetro Header, omita a string de cabeçalho de coluna das strings CSV. Caso contrário, ConvertFrom-CSV criará um objeto adicional a partir dos itens da linha de cabeçalho.

Necessário? false
Posição? named
Valor padrão
Aceitar entrada do pipeline? false
Aceitar caracteres curinga? false

-InputObject <PSObject[]>

Especifica as strings CSV a serem convertidas em objetos. Insira uma variável que contenha as strings CSV ou digite um comando ou expressão que obtenha as strings CSV. Também é possível canalizar strings CSV para o ConvertFrom-CSV.

Necessário? true
Posição? 1
Valor padrão
Aceitar entrada do pipeline? true (ByValue, ByPropertyName)
Aceitar caracteres curinga? false

-UseCulture

Use o separador de lista da cultura atual como o delimitador de string. O padrão é uma vírgula (,).

Para localizar o separador de lista de uma cultura, use o comando a seguir: (Get-Culture).TextInfo.ListSeparator. Se você especificar um caractere diferente do delimitador usado nas strings CSV, ConvertFrom-CSV não poderá criar objetos a partir das strings CSV. Em vez disso, ele retornará as strings.

Necessário? true
Posição? named
Valor padrão Comma
Aceitar entrada do pipeline? false
Aceitar caracteres curinga? false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas System.String

É possível canalizar strings CSV para o ConvertFrom-CSV.

Saídas System.Management.Automation.PSObject

ConvertFrom-CSV retorna os objetos descritos pelas propriedades nas strings CSV.

Observações

Como os objetos importados são versões CSV do tipo do objeto, eles não são reconhecidos e formatados pelas entradas de formatação de tipo do Windows PowerShell que formatam as versões não-CSV do tipo de objeto.

No formato CSV, cada objeto é representado por uma lista separada por vírgulas dos valores de propriedade do objeto. Os valores de propriedade são convertidos em strings (usando o método ToString() do objeto), de forma que eles geralmente são representados pelo nome do valor da propriedade. O ConvertTo-CSV não exporta os métodos do objeto.

Exemplo 1

C:\PS>$p = get-process | convertto-csv
C:\PS> $p | convertfrom-csv
Descrição
-----------
Esses comandos convertem os processos no computador local em formato CSV e, em seguida, os restauram para o formato do objeto.
O primeiro comando usa o cmdlet Get-Process para obter os processos no computador local. Um operador de pipeline (|) os envia para o cmdlet ConvertTo-CSV que converte o objeto de processo no formato CSV. As strings CSV são salvas na variável $p.
O segundo comando usa um operador de pipeline para enviar as strings CSV da variável $p para o cmdlet ConvertFrom-CSV. O cmdlet converte as strings CSV em versões CSV dos objetos de processo originais.

Exemplo 2

C:\PS>$date = get-date | convertto-csv -delimiter ";"
C:\PS> convertfrom-csv -inputobject $date -delimiter ";"
Descrição
-----------
Esses comandos convertem um objeto de dados para o formato CSV e, em seguida, para o formato CSV do objeto.
O primeiro comando usa o cmdlet Get-Date para obter a data e a hora atuais. Um objeto pipeline (|) envia a data aos cmdlets de ConvertTo-CSV que convertem o objeto de data em uma série de strings CSV. O comando usa o parâmetro Delimiter para especificar um delimitador de ponto-e-vírgula. As strings são salvas na variável $date.
O segundo comando usa o cmdlet ConvertFrom-CSV para converter as strings CSV na variável $date de volta para o formato do objeto. O comando usa o parâmetro InputObject para especificar as strings CSV e o parâmetro Delimiter para especificar o delimitador de ponto-e-vírgula.

Exemplo 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  :
Descrição
-----------
Este exemplo mostra como usar o parâmetro Header de ConvertFrom-Csv para alterar os nomes de propriedades no objeto importado resultante.
O primeiro comando usa o cmdlet Start-Job para iniciar um trabalho em segundo plano que executa um comando Get-Process no computador local. Um operador de pipeline (|) envia o objeto de trabalho resultante para o cmdlet ConvertTo-CSV que converte o objeto de trabalho no formato CSV. Um operador de atribuição (=) salva o CSV resultante na variável $j.
O segundo comando salva um cabeçalho na variável $header. Ao contrário do cabeçalho padrão, esse cabeçalho usa "MoreData" em vez de "HasMoreData" e "State" em vez de "JobStateInfo".
O terceiro comando exclui o cabeçalho original (a segunda linha) das strings CSV e o retorna para a variável $j.
O quarto comando usa o cmdlet ConvertFrom-CSV para converter as strings CSV em uma versão CSV do objeto de trabalho. O comando segundo usa um operador de pipeline (|) para enviar o conteúdo de $j para ConvertFrom-CSV. O objeto resultante tem as propriedades "MoreData" e "State", conforme especificado pelo cabeçalho.

Exemplo 4

C:\PS>(get-culture).textinfo.listseparator
C:\PS> ConvertFrom-Csv -inputobject $services -UseCulture
Descrição
-----------
O comando usa o cmdlet ConvertFrom-CSV para converter strings CSV de objetos de serviço que foram convertidos pelo cmdlet ConvertTo-CSV. O comando usa o parâmetro UseCulture para direcionar ConvertFrom-CSV para usar o delimitador (separador de lista) da cultura atual.
Ao usar o parâmetro UseCulture, verifique se o separador de lista da cultura atual corresponde ao delimitador usado nas strings CSV. Caso contrário, ConvertFrom-CSV não poderá gerar objetos das strings CSV.
Neste exemplo, um comando Get-Culture foi usado para verificar o separador de lista antes do comando ConvertFrom-CSV ser usado.

See Also