【问题标题】:Import-Csv, Sort Imported Data and Counting Total Variables after SortImport-Csv,对导入的数据进行排序并在排序后统计总变量
【发布时间】:2017-07-07 22:47:54
【问题描述】:

我正在尝试编写一个导入大量 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

}

【问题讨论】:

  • 在这种情况下,我应该说我只是想从一开始就计算每列的变量数。

标签: powershell


【解决方案1】:

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

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

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

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

由于在这种情况下列是行的属性,因此任何列的计数都将与行数的计数相同,因此没有理由这样做。

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多