导入-csv,对导入的数据进行排序,并在排序后计算变量总数



我正在尝试编写一个导入大量 csv 数据的 powershell 脚本。我正在尝试按日期范围对对象进行排序并计算列中的对象。我导入了数据和分配的值,但是当我要求对列中的总值进行计数时,它会计算每个单独的对象,而不是剩余对象的总和。我相信这是因为它位于 foreach cmdlet 中。

有什么想法吗?我是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
}

foreach循环中(请注意,这是foreach语句,而不是 cmdlet(,每个$user都是$users中的一行(即行数组(。

因此,请求单行的任何属性(列(的.Count,将返回1。循环将运行N次,其中N是您拥有的行数,因此您将看到1多次。

您根本不需要循环来获取行数:

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

由于在此方案中列是行的属性,因此任何列的计数将与行数的计数相同,因此没有理由这样做。

最新更新