0

私は一般的にスクリプト作成に少し慣れていません。より良い形式で表示されるように、データをインポートして変更している CSV ファイルがあります。
私の質問は、特定の列のすべての行で foreach ループを実行したい (と思います)、データが特定の基準に一致しない場合:

  1. 行全体を新しい行にコピーします (行内の他のすべてのデータを保持します)。
  2. 「列 B」の値を「列 C」の値に置き換えます。

私は基本的にやっていimport-csv $fileます。後でエクスポートします。

例を次に示します。「--」以外のデータが存在する場合、基本的に Task2 を Task1 列に移動したいので、Task 2 列を無視できます。

Import-csv私にこれを与える:

ID,    TASK1, TASK2
123,    A,     --     
456,    B,     --     
789,    C,     D,     

But I want it to look like this:

ID,   TASK1, TASK2
123,    A ,    --     
456,    B,     --     
789,    C,     D,     
789,    D,     D,                
4

2 に答える 2

-1

他の方法:

$data=import-csv "C:\temp\test.txt"
$data + ($data | where TASK2 -ne "--" |  %{$_.TASK1=$_.TASK2;$_})
于 2017-09-03T09:20:46.010 に答える