2017-07-07 77 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