从现有的CSV列复制值,并添加到新的列与PowerShell



我有一个4列的CSV。我正试图根据部门编号列的值将成本列的值复制到corpcosts列。基本上,任何部门号以8*开头的成本都将被移动或复制到corpcost列。

参考:

原始:

tbody> <<tr>78 f54
Employee IDOwnerEmailDepartmentNumberCosts
fg345test@mail.com88944654.45
test2@mail.co34534994.15

表达式只需要做一些修改来添加if语句来检查以数字8开头的部门,如果为真,则将Costs列填入新的CorpCosts列。

$CSVImport = Import-Csv Costs.csv
$CSVImport|Select-Object *, @{N= 'CorpCosts'; E={if($_.DepartmentNumber -like '8*'){$_.Costs}}} | Export-Csv "$Env:temp/$OutputFile" -NoTypeInformation 

您可以只使用一个计算属性,对于比较,您可以使用.StartsWith或您选择的匹配操作符(-like '8*'-match '^8'),而不是相等操作符不知道通配符(*)。

Import-Csv pathtosource.csv |
Select-Object *, @{N='CorpCosts';E={ if($_.DepartmentNumber.StartsWith('8')) { $_.Costs } }} |
Export-Csv pathtooutput.csv -NoTypeInformation

相关内容

  • 没有找到相关文章

最新更新