2017-06-16 8 views
-2

PowerShellを使用して、csvファイルのTeam2列の値をTeam1列の隣接値に置き換えようとしています。私は全く新しいので、誰かが私を正しい方向に向けることを望んでいた。Powershellがcsvセルのnull値を隣接値と置き換える

私はこの形式でCSVを持っているとTeam2列内のいくつかの値がnull値になります。

test test2 Team1 Team2 
---- ----- ----- ----- 
0000 aaaaa Name1 Name6 
0001 wwwww Name2 
0004 ttttt Name3 Name8 
0005 ttttt Name4 
0006 hhhhh Name5 Name10 
+0

ようこそにパイプラインを下に渡すことができるように、その後、我々は値を返します。このサイトは、特定のプログラミングに関する質問をするためのサイトです。私たちがあなたを助けるためには、[最小で完全で検証可能な例](https://stackoverflow.com/help/mcve)を提供してください。問題を解決しようとするために作成したコードを表示し、コードの動作が予想される動作とどのように異なるかを記述します。これらの手順を実行すると、あなたの質問に誰かが答えられる可能性が高くなります。 –

答えて

2

ですから、オブジェクトにファイルをインポートするImport-CSVコマンドレットを使用することができます。次に、オブジェクトをループして、Team2がヌルまたは空である場所を探します。それをチェックして$Trueまたは$Falseを返す文字列メソッドがあります。これはブロックIfの条件付きになります。それはスタックオーバーフローにExport-CSV

Import-CSV $FilePath | ForEach-Object { 
    If ([string]::IsNullOrEmpty($_.Team2)) { 
     $_.Team2 = $_.Team1 
    } 
    $_ 
} | Export-CSV $ExportPath 
+0

完璧に働いてくれてありがとう – Pat

1

その他の方法

ipcsv $FilePath | %{if(!$_.Team2) {$_.Team2 = $_.Team1} ; $_ } | epcsv $ExportPath -notype 
関連する問題