한 줄에 공백이 있는 여러 CSV 열 표시

한 줄에 공백이 있는 여러 CSV 열 표시

이름과 성이 포함된 CSV 파일이 있습니다. 헤더는 "이름" 그리고 "". 표시할 수는 있지만 이름과 성을 별도의 줄에 표시합니다.

질문:Powershell에서 출력을 한 줄에 함께 표시하려면 어떻게 해야 합니까?

이 PowerShell은 값을 별도의 줄로 구분합니다.

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

답변1

사용하여$( ) 하위 표현식 연산자중첩된 방식으로 여러 하위 표현식 결과를 연결하고 이를 원하는 대로 출력을 반환하는 다른 하위 표현식 내의 그룹으로 반환할 수 있습니다(예: "$($(mutlivalue1) $(multivalue2))" == "val1 val2").

파워셸

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

지원 리소스

  • Operators $( ) @( ) :: &

    $( ) 하위 표현식 연산자.

    특정 항목을 반환하려면 하위 표현식을 사용하세요. 속성객체의. 단순 괄호와 달리 하위 표현식에는 여러 개의 ; 세미콜론 ; 분리됨; 진술.

    각 문의 출력은 하위 표현식의 출력에 영향을 줍니다. 단일 결과의 경우 스칼라를 반환합니다. 결과가 여러 개인 경우 배열을 반환합니다.

    하위 표현식을 사용하면 한 줄로 표현식 결과를 평가하고 그에 따라 작업을 수행할 수 있습니다. 중간 변수가 필요하지 않습니다.

답변2

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

답변3

나는 당신에게 여러 가지 방법을 제안합니다:

#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"
}

}

관련 정보