Объединить 2 массива - PullRequest
       1

Объединить 2 массива

0 голосов
/ 09 ноября 2018

У меня есть данные в 2 массива, как показано ниже

$csvCreate:

Server Names Services Name
------------ --------------
abc           mn
123           OK
$csvCreate1:

Server Names Mounts  
------------ ------  
abc          OK      
123          /etc/999

Необходимо добавить данные в CSV, как показано ниже

Server Names Services Name Mounts  
------------ ------------- -------  
abc            mn            OK      
123            OK           /etc/999

Пробовал делать:

   $csvCreate = $csvCreate | Select-Object ServerName,Services
   $csvCreate1 = $csvCreate1 | Select-Object Mounts
   $finalData = $csvCreate +$csvCreate1
   $finalData | Export-Csv -Path $path\ComparedServicess.csv -NoTypeInformation

Но, похоже, не работает.

Пожалуйста, дайте мне знать, что мне здесь не хватает

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Если в каждом списке одинаковое количество строк, и они находятся в одинаковом порядке, простой цикл for будет делать:

$finalData = $csvCreate | Select-Object *, Mounts

for ($i=0; $i -lt $finalData.length; $i++) {
    $finalData[$i].Mounts = $csvCreate1[$i].Mounts
}
0 голосов
/ 09 ноября 2018

Сделано, используя код ниже

$JoinedObject = Foreach ($row in $csvCreate)
{
    [pscustomobject]@{
        Servername = $row.ServerName
        Services     = $row.Services
        Mounts    = $csvCreate1 | Where-Object {$_.Servername -eq $row.Servername} | Select-Object -ExpandProperty Mounts
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...