你好,下面有两个表
Computer A
------------
20.03
20.02
20.01
Computer B
------------
20.03
20.02
20.01
XXX
XXX
你好,我有一个问题是我想合并成一个CSV,所以我需要先实现下面的功能。
Computer A Computer B
------------ ------------
20.03 20.03
20.02 20.02
20.01 20.01
XXX
XXX
我该怎么做呢? 我有很多类似于那些表的东西需要合并,我试了一些很多次,就是不能做到这一点
首先把两个数组都变成哈希特表--这样我们就可以快速查找一个值是否存在于一个或两个数组中。
$ComputerATable = @{}
$AObjects |ForEach-Object { $ComputerATable[$_.'Computer A'] = $_ }
$ComputerBTable = @{}
$AObjects |ForEach-Object { $ComputerATable[$_.'Computer B'] = $_ }
现在我们只需要循环浏览所有的 鲜明 计算机名称来建立我们的 "合并表"。
$merged = $ComputerATable.Keys,$ComputerBTable.Keys |Sort-Object |ForEach-Object {
# Create a new object with the value (if present) from either table
[pscustomobject]@{
'Computer A' = if($ComputerATable.ContainsKey($_)){ $_ }
'Computer B' = if($ComputerBTable.ContainsKey($_)){ $_ }
}
}