2017-07-07 50 views
0

我試圖編寫一個PowerShell腳本導入大量的CSV數據。我正在嘗試按日期範圍對對象列進行排序並計算列中的對象。我導入了數據和分配的值,但是當我要求列中的總值計數時,它會計算每個單獨的對象,而不是剩餘的總和。我相信這是因爲它位於foreach cmdlet內。導入Csv,排序導入的數據和排序後的總變量計數

任何想法?我更新PowerShell。

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環(注意,這是foreach語句,而不是小命令),每個$user是從$users(其是行的陣列)中的單個行。

所以要求單行任何屬性(列)的.Count將返回1。循環將運行N次,其中N是您擁有的行數,因此您將多次看到1

你並不需要在所有的循環得到行數:

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

由於列排在這種情況下的屬性,任何列的數量將是一樣的計數的行數,所以沒有理由這樣做。

+0

謝謝你,很好的工作! – MrDoe