none
Как автоматизировать заполнение тамблицы.

    Вопрос

  • Добрый вечер.

    Подскажите пожалуйста как заполнить csv файл с помощью powershell.

    Имеется 2 файла csv:

    1-ый файл:

    2-ой файл:

    Цель заключается в том, чтобы VMNAME из первой таблицы (1-ый файл), сравнивал VMNAME во второй таблице (2-ой файл) и если находил совпадения, брал значение VMRequester из первой таблицы и записывал его в VMRequester второй таблицы. На выходе необходимо иметь заполненный csv файл (2-ой файл) данными из 1-ого файла. Подскажте пожалуйста, как можно реализовать задумку, буду очень благодарен. Файлы можно сказать по ссылке https://1drv.ms/f/s!AqMlDyziiLekaRtl6uiwafPkPNU

    17 июня 2017 г. 16:25

Ответы

  • Import-Csv "C:\Test\vmreq.csv" -Delimiter ";" | Foreach {$f1=@{}} {$f1.Add($_.VMNAME,$_.VMRequester)}
    $r = Import-Csv "C:\Test\vmcmdb.csv" -Delimiter ";" | Foreach {
    	$_.VMRequester = $f1[$_.VMNAME]
    	$_
    } | ConvertTo-Csv -NoTypeInformation -Delimiter ";" | Foreach {$_ -replace '"'}
    
    [IO.File]::WriteAllLines("C:\Test\vmcmdb.csv",$r)


    • Изменено KazunEditor 18 июня 2017 г. 6:16
    • Помечено в качестве ответа new guy 1 18 июня 2017 г. 9:59
    18 июня 2017 г. 6:15
    Отвечающий

Все ответы

  • Import-Csv "C:\Test\vmreq.csv" -Delimiter ";" | Foreach {$f1=@{}} {$f1.Add($_.VMNAME,$_.VMRequester)}
    $r = Import-Csv "C:\Test\vmcmdb.csv" -Delimiter ";" | Foreach {
    	$_.VMRequester = $f1[$_.VMNAME]
    	$_
    } | ConvertTo-Csv -NoTypeInformation -Delimiter ";" | Foreach {$_ -replace '"'}
    
    [IO.File]::WriteAllLines("C:\Test\vmcmdb.csv",$r)


    • Изменено KazunEditor 18 июня 2017 г. 6:16
    • Помечено в качестве ответа new guy 1 18 июня 2017 г. 9:59
    18 июня 2017 г. 6:15
    Отвечающий
  • Добрый день, Александр.

    Спасибо большое за помощь, как всегда все идеально работает =)

    18 июня 2017 г. 10:01