将它导出csv时,我只能得到Length,应该如何正确完成。
$redo = Import-CSV c:\temp\testimport.txt | Group-Object email | foreach { "{0} ,{1}" -f $_.Name, (($_.Group | foreach { $_.group }) -join ', ') } $redo | Export-CSV c:\temp\test.csv -NoTypeInformation
#
“Length” “46” “59” “110” “47” “149” “38” “69” “32” “62” “29” “49” “31” “27” “48” “55” “42”
Export-Csv期望一个具有属性的对象(或对象列表),而命令管道生成一个字符串数组。如果将此数组供入Export-Csvcmdlet,则将获取每个给定项目的属性(仅Length适用于字符串),并将这些属性写入输出文件。
Export-Csv
Export-Csvcmdlet
您需要构建具有所需属性的对象列表,例如:
Import-CSV c:\temp\testimport.txt ` | Group-Object email ` | select @{n="Name";e={$_.Name}},@{n="Group";e={($_.Group | %{$_.group}) -join ', '}} ` | Export-CSV c:\temp\test.csv -NoTypeInformation