我需要根据两个对象可能共享的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)"
$i = $i + 1
}
文件pk.csv包含130行。每行都有一个名称和一个householdID。 HouseholdID的目的是链接双胞胎。因此,如果一个双胞胎被随机牵拉,那么另一对双胞胎则需要下一个牵拉,或者需要将它们组合在一起。
样本输入如下:
householdID,name
7745,Josiah Moon
7746,Finleigh Hayes
7747,Evelyn Brandon
7749,Braedyn Thompson
7750,William Doughty
7751,Madison Vaughn
7751,Morgan Vaughn
7752,Peyton Benford
7753,Robert Waldrop
7754,Johnathan Ford
7755,Cheyenne Holmes
7756,Reid Ruark
预期的输出将是这样的:
rowNumber,householdID,name
1,7750,William Doughty
2,7752,Peyton Benford
3,7753,Robert Waldrop
4,7755,Cheyenne Holmes
5,7747,Evelyn Brandon
6,7745,Josiah Moon
7,7746,Finleigh Hayes
8,7756,Reid Ruark
9,7751,Morgan Vaughn
10,Madison Vaughn
11,7754,Johnathan Ford
12,7749,Braedyn Thompson
请注意,householdID为7751的两个名称以随机顺序列出,但在列表中顺序排列。 HouseholdID不必是输出的一部分。我只是将其包括在此处以用于说明目的。