显示一行上有空格的多个 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"
}

}

相关内容