首页 > 解决方案 > 使用 PowerShell 对 CSV 数据进行分组并导出报告

问题描述

我已经检查了网站并尝试了谷歌资源,但似乎我没有走上正轨。

我有一个带有多个标题(参考、日期、用户、级别、发生日期等)的 csv 文件,我正在尝试使用 PowerShell 将这些数据从 Excel 分组到报告中。

条件应该是日期,然后是级别,并按用户分组。

到目前为止,我已经处理了这段代码:

$data = "C:\Users\Ao\Desktop\data.csv"

$file = Import-Csv $data

foreach ($line in $file){
  # Save the relevant fields in variables
  $sla            = $line.'SLA Escalation Level'
  $reference      = $line.'Request No.'
  $breach         = $line.'SLA Expected Fix Breach On'
  $description    = $line.'Description'
  $assignee       = $line.'Assignee'
  $priority       = $line.'Priority'
  $status         = $line.'Status'
  $updatedon      = $line.'Updated On'
  $updatedby      = $line.'Updated By'

  Group-Object -Property $assignee, $updatedby
}

运行代码后,没有任何反应,甚至没有错误消息。

你能指导我正确的方向吗?我不是在寻找完整的脚本,因为我也在尝试学习逻辑方式。

标签: excelpowershellcsv

解决方案


在 command 之后$file = Import-Csv $data,变量$file是代表您的 csv 行的对象列表。每个对象都有可以操作/过滤的属性。

例如,以下命令将仅显示受让人所在的行:Julien

$file | Where-Object { $_.Assignee -eq 'Julien' }

如果要按 对进行分组Assignee,可以使用以下语法:

$file | Group-Object -Property Assignee

然后,您可以将过滤/分组的数据输出到其他功能。


推荐阅读