我正在尝试从CSV文件中的对象读取值(使用PowerShell 3.0)。基于该值,我将创建一个新列并插入一个值(在同一行中)。
例如,我有CSV文件:
Attribute1,Attribute2
Valuea1,Valueb1
Valueb1,Valuea1
Valuea1,Valueb1
Valueb2,Valuea2
Valuea2,Valueb2
对于Attribute2
中的每个“Valueb1”,将一个值“Found”插入新列Data
。所以最后,它应该是这样的(如果没有“Found”,请注意添加的,
):
Attribute1,Attribute2,Data
Valuea1,Valueb1,Found
Valueb1,Valuea1,
Valuea1,Valueb1,Found
Valueb2,Valuea2,
Valuea2,Valueb2,
我不熟悉嵌套循环如何使用PowerShell处理CSV文件中的对象。
答案 0 :(得分:3)
添加calculated property,其值取决于Attribute2
:
Import-Csv 'C:\input.csv' |
Select-Object -Property *,
@{n='Data';e={if ($_.Attribute2 -eq 'Valueb1') {'Found'} else {''}}} |
Export-Csv 'C:\output.csv' -NoType