Powershell 在PSObject中合并重复项
我在一个PowerShell对象中有几个相似的项,我想根据两列和第三列的总和将它们组合成一个唯一的列表 我的数据是这样的 我希望它最终看起来像这样 这是我创建对象时的代码。它是通过CSV的foreach循环的一部分Powershell 在PSObject中合并重复项,powershell,Powershell,我在一个PowerShell对象中有几个相似的项,我想根据两列和第三列的总和将它们组合成一个唯一的列表 我的数据是这样的 我希望它最终看起来像这样 这是我创建对象时的代码。它是通过CSV的foreach循环的一部分 $MSFTAdd = New-Object psobject -Property @{ "Client" = $MClientsubs.CustomerName "SubscriptionName" = $MClientsubs.OfferName "MicrosoftCount"
$MSFTAdd = New-Object psobject -Property @{
"Client" = $MClientsubs.CustomerName
"SubscriptionName" = $MClientsubs.OfferName
"MicrosoftCount" = $MClientSubs.Quantity
}
$CustomMicrosoft += $MSFTAdd
}
csv包含示例数据,下面是合并重复行的脚本
Import-Csv "testing.csv"|
Group-Object Client,SubscriptionName |
Select-Object @{Name='Client' ;Expression={$_.Values[0]}},
@{Name='SubscriptionName';Expression={$_.Values[1]}},
@{Name='MicrosoftCount' ;Expression={
($_.Group|Measure-Object MicrosoftCount -Sum).Sum
}}
@{Name='MicrosoftAmount' ;Expression ={
($_.Group|Measure-Object MicrosoftAmount -Sum).Sum)
}} | Export-Csv ".\testing_new.csv"
Group对象
cmdlet可以按多个属性分组。[grin]谢谢,我如何合并另一个名为“金额”的列,该列也应进行汇总?只需使用新列“MicrosoftAmount”更新您的CSV文件,后跟金额/值即可。只是我已经根据您的要求更新了上面的代码。谢谢