将多个表合并到CSV powershell

嗨,下面有两个表

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

我该怎么办?我有很多类似表格的东西需要合并 我尝试了很多次,只是做不到

iCMS 回答:将多个表合并到CSV powershell

首先将两个数组都转换为哈希表-这样一来,我们可以快速查找值是否存在于一个或两个中:

$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($_)){ $_ }
  }
}
本文链接:https://www.f2er.com/2253204.html

大家都在问