根据已有列的值,在CSV文件中插入具有值的新列

根据已有列的值,在CSV文件中插入具有值的新列,csv,powershell-3.0,Csv,Powershell 3.0,我正在尝试从CSV文件中的对象读取值(使用PowerShell 3.0)。基于该值,我将创建一个新列并插入一个值(在同一行中) 例如,我有CSV文件: Attribute1、Attribute2 价值A1,价值B1 价值B1,价值A1 价值A1,价值B1 价值B2,价值A2 价值A2,价值B2 对于Attribute2中的每个“Valueb1”,在新列Data中插入一个值“Found”。最后,它应该是这样的(注意添加的,,如果没有“Found”): Attribute1、Attribute2、

我正在尝试从CSV文件中的对象读取值(使用PowerShell 3.0)。基于该值,我将创建一个新列并插入一个值(在同一行中)

例如,我有CSV文件:

Attribute1、Attribute2
价值A1,价值B1
价值B1,价值A1
价值A1,价值B1
价值B2,价值A2
价值A2,价值B2
对于
Attribute2
中的每个“Valueb1”,在新列
Data
中插入一个值“Found”。最后,它应该是这样的(注意添加的
,如果没有“Found”):

Attribute1、Attribute2、数据
找到值A1、值B1
价值B1,价值A1,
找到值A1、值B1
价值B2,价值A2,
价值A2,价值B2,
我不熟悉嵌套循环如何使用PowerShell处理CSV文件中的对象。

根据属性2的值添加一个值:

Import-Csv 'C:\input.csv' |
  Select-Object -Property *,
    @{n='Data';e={if ($_.Attribute2 -eq 'Valueb1') {'Found'} else {''}}} |
  Export-Csv 'C:\output.csv' -NoType
根据
属性2的值添加一个值:

Import-Csv 'C:\input.csv' |
  Select-Object -Property *,
    @{n='Data';e={if ($_.Attribute2 -eq 'Valueb1') {'Found'} else {''}}} |
  Export-Csv 'C:\output.csv' -NoType

这不需要嵌套循环吗?到目前为止你试过什么?:)这不需要嵌套循环吗?到目前为止你试过什么?:)这非常有效,谢谢!!!我只需要把
else{'}
做一个小改动,就可以把
else{$null}
。非常感谢你…这非常有效谢谢你!!!我只需要把
else{'}
做一个小改动,就可以把
else{$null}
。非常感谢你。。。