2017-07-07 5 views
0

データの大容量csvをインポートするpowershellスクリプトを作成しようとしています。私はオブジェクトの列を日付範囲でソートしようとしていて、列内のオブジェクトを数えています。データをインポートして値を割り当てましたが、列の合計値のカウントを求めるときは、残りの合計ではなく個々のオブジェクトを数えます。これはforeachコマンドレット内にあるためです。Import-Csv、ソート済みデータのソート、ソート後の合計変数の計算

アイデア?私はPowerShellの方が新しい。 foreachループ内

CSV format, 
ID FirstName LastName Date 
1 jOHN  SMITH 8/8/2016 

$users=Import-Csv data.csv 

foreach ($user in $users) { 

$FileID=$user.ID 
$FileFIRST_NAME=$user.FIRST_NAME 
$FileLAST_NAME=$user.LAST_NAME 
$FileDATE=$user.DA 

write-host $FileFIRST_NAME.count 

} 
+0

この場合、私は各列の変数の数を最初から調べようとしているはずです。 – MrDoe

答えて

1

(これはforeach文ないレットであることに留意されたい)、各$userは(行の配列である)$users内から単一の行です。

したがって、1行のプロパティ(列)の.Countを質問すると、1が返されます。ループはN回実行されます。ここではNは行数ですので、1が何度も表示されます。

あなたは行数を取得するために、すべてのループを必要としない:

$users=Import-Csv data.csv 
$users.Count 

列は、このシナリオでは、行の財産ですので、任意の列の数が同じになります行数のカウント、そうする必要はありません。

+0

うまく働いてくれてありがとう! – MrDoe

関連する問題