使用PowerShell将CSV数据分组并导出报告

时间:2018-06-21 14:18:30

标签: excel powershell csv

我已经检查了网站并尝试了Google资源,但是看来我走的路不正确。

我有一个带有多个标头的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
}

运行代码后,什么都没有发生,甚至没有错误消息。

能否请您指导我正确的方向,我不是在寻找完整的脚本,因为我也在尝试学习逻辑方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

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

例如,以下命令将仅显示,其中Julien是受让人:

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

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

$file | Group-Object -Property Assignee

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