根据已有列的值,在CSV文件中插入具有值的新列
我正在尝试从CSV文件中的对象读取值(使用PowerShell 3.0)。基于该值,我将创建一个新列并插入一个值(在同一行中) 例如,我有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、
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}
。非常感谢你。。。