2016-09-07 2 views
0

У меня есть файл .csv, с которым я хочу работать в Powershell. .csv имеет три колонкиPowershell CSV импорт и обновление IF функция

AccountNumber1, AccountNumber2, Заказать

Данные могут быть в ряде переменных

Теперь данные не соответствуют, Там всегда будет AccountNumber2. Однако, если AccountNumber1 существует, то это номер учетной записи, который необходимо использовать.

enter image description here

Другие, чем Import-CSV вариантов у меня нет никаких идей о том, как этот прогресс, я задавался вопросом о том, если длина = 0 или что-то около этого, но совершенно не знаете.

Легко сделать в Excel, но я бы предпочел не писать функцию excel, поскольку чувствую, что ее дополнительный уровень сложности на самом деле не нужен.

Import-Csv -literalpath 'L:\SList.txt' -Headers AccountNumber1,AccountNumber2,CorrectAC,Order 

Excel просто будет; =IF(A2="",B2,A2) очевидно, но как это делается в PS?

ответ

1

Используйте calculated properties заменить пустые AccountNumber1 поля:

$headers = 'AccountNumber1','AccountNumber2','CorrectAC','Order' 
Import-Csv -literalpath 'L:\SList.txt' -Headers $headers | 
    Select-Object -Property *,@{n='AccountNumber1';e={ 
     if (! $_.AccountNumber1) {$_.AccountNumber2} 
    }} -Exclude AccountNumber1 
+0

Наиболее ценится, кажется, так логично! –

Смежные вопросы