Exibir várias colunas CSV que possuem espaço em uma linha

Exibir várias colunas CSV que possuem espaço em uma linha

Eu tenho um arquivo CSV com nomes e sobrenomes. Os cabeçalhos são "Primeiro nome" e "Sobrenome". Consigo exibi-lo, mas ele coloca o nome e o sobrenome em linhas separadas.

Pergunta:Como posso fazer com que a saída seja exibida juntos em uma linha no Powershell.

Este PowerShell separa os valores em linhas separadas:

 Import-Csv -Path C:\file1.csv | foreach {echo $_.'First Name’ $_.'Last Name’}

Responder1

Usando o$( ) Operador de subexpressãode forma aninhada, é possível concatenar vários resultados de subexpressão e retorná-los como um grupo dentro de outra subexpressão, retornando a saída conforme desejado (ou seja, "$($(mutlivalue1) $(multivalue2))" == "val1 val2").

PowerShell

Import-Csv -Path "C:\file1.csv" | %{"$($_."First Name") $($_."Last Name")"};

Recursos de apoio

  • Operators $( ) @( ) :: &

    $( ) Operador de subexpressão.

    Use uma subexpressão para retornar específico propriedadesde um objeto. Ao contrário dos parênteses simples, uma subexpressão pode conter vários ; ponto e vírgula; separado; declarações.

    A saída de cada instrução contribui para a saída da subexpressão. Para um único resultado, retornará um escalar. Para vários resultados, ele retornará um array.

    As subexpressões permitem avaliar e agir sobre os resultados de uma expressão em uma única linha; sem necessidade de uma variável intermediária:

Responder2

Import-Csv -Path C:\file1.csv | foreach {'{0} {1}' -f $_.'First Name’, $_.'Last Name’ | Write-host}

Responder3

Eu proponho vários métodos:

#method 0 : on one row by you can keep your columns (result are list of objects)
import-csv "C:\temp\yooo.txt" | select "First Name", "Last Name"

#method 1 : create new column in select (result are list of objects)
import-csv "C:\temp\yooo.txt" | select @{Name="Identity";Expression={"{0} {1}" -f $_."First Name", $_."Last Name"}}

#method 2 : create new column in loop (result are list of string)
import-csv "C:\temp\yooo.txt" | %{"{0} {1}" -f $_."First Name", $_."Last Name"}

#method 3 : create new object in loop (result are list of objects)
import-csv "C:\temp\yooo.txt" | %{

[pscustomobject]@{
FirstName=$_."First Name"
LastName=$_."Last Name"
}

}

informação relacionada