使用PowerShell编辑CSV文件

usr*_*986 5 csv powershell

我需要在下面使用PowerShell脚本编写.

我在CSV文件中有以下数据.我需要根据提供的主题在名称后附加另一个前缀

Name,Subject,Roll,Div
Mark,Agri,3,Div1,
Tom,CS,6,Div3,
Alex,Aero,9,Div6
Run Code Online (Sandbox Code Playgroud)

假设我提供了主题Agri,名称应该有前缀为P-.因此,相同的CSV文件将被保存并具有以下内容

Name,Subject,Roll,Div
P-Mark,Agri,3,Div1,
Tom,CS,6,Div3,
Alex,Aero,9,Div6
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所拥有的:

(Import-Csv E:\Test.csv -Delimiter ',') | ForEach-Object{

    if($_.Subject -match "Agri" )
    {
      $_ = "P-" + "$_";

    }
    else
    {
     $_ = "F-" + "$_";

    }

} | Export-Csv E:\Test.csv -Delimiter ',' 
Run Code Online (Sandbox Code Playgroud)

cru*_*ush 5

我无法将它们组合在一起 - 可能只是对PowerShell语法的无知.我能够使用以下两行来完成以下操作:

($csv = Import-Csv E:\Test.csv -Delimiter ',') | ForEach {
    if ($_.Subject -match "Agri") {
        $_.Name = 'P-' + $_.Name
    } else {
        $_.Name = 'F-' + $_.Name
    }

}
$csv | Export-Csv E:\Test.csv -Delimiter ',' -NoType
Run Code Online (Sandbox Code Playgroud)

注意:

$_ = "P-" + $_;
Run Code Online (Sandbox Code Playgroud)

$_.Name = "P-" + $_.Name;
Run Code Online (Sandbox Code Playgroud)