Powershell按ID随机分组

问题描述 投票:0回答:1

我需要根据两个对象可能共享的ID对随机检索的对象进行分组。

这是我当前的脚本:

$allRows = Import-CSV C:\Temp\pk.csv

$chosenHouseholdIDs = ($allRows | Get-Random -Count $allRows.count).id

$chosenOnes = $allRows | Where-Object id -in $chosenHouseholdIDs

$i = 1

foreach ($chosenOne in $chosenOnes)
{
     "$($i),$($chosenOne.name),$($chosenOne.id)"
     $i = $i + 1
}

文件pk.csv包含130行。每行都有一个名称和一个householdID。 HouseholdID的目的是链接双胞胎。因此,如果一个双胞胎被随机牵拉,那么另一对双胞胎则需要下一个牵拉,或者需要将它们组合在一起。

powershell
1个回答
1
投票

使用Group-Object cmdlet。像这样

$chosenOnes = $allRows | Where-Object id -in $chosenHouseholdIDs | Group-Object -Property householdID
© www.soinside.com 2019 - 2024. All rights reserved.