Powershell CSV导入和更新IF函数

时间:2016-09-07 15:20:19

标签: powershell if-statement import

我有一个.csv文件,我希望在Powershell中使用。 .csv有三列

AccountNumber1,AccountNumber2,Order

数据可以包含多个变量

现在数据不一致,总会有一个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 个答案:

答案 0 :(得分: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