根据现有列中的值,在 CSV 文件中插入具有值的新列
Insert new column with value in CSV file, based on value from a column already there
我正在尝试从 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 文件中的对象。
根据 Attribute2
的值添加一个 calculated property:
Import-Csv 'C:\input.csv' |
Select-Object -Property *,
@{n='Data';e={if ($_.Attribute2 -eq 'Valueb1') {'Found'} else {''}}} |
Export-Csv 'C:\output.csv' -NoType
我正在尝试从 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 文件中的对象。
根据 Attribute2
的值添加一个 calculated property:
Import-Csv 'C:\input.csv' |
Select-Object -Property *,
@{n='Data';e={if ($_.Attribute2 -eq 'Valueb1') {'Found'} else {''}}} |
Export-Csv 'C:\output.csv' -NoType