PowerShell收集信息

时间:2017-07-13 01:13:24

标签: powershell csv

我正在寻找一种方法来读取标题的csv文件'客户'和'汽车ID'。问题是我有重复的客户。我需要找到一种方法来列出每个独特的客户及其所有车辆ID。如果可能,将其导出为CustomerName并列出其下的所有汽车ID。因此,如果我有3个独特的客户,每个客户将单独出口。

#Get unique customer
$GetUniqCustomer = Import-Csv $File |
                   Sort-Object {$_.customer} -Unique |
                   Select {$_.customer}

从这里开始,我不确定我将如何做我所描述的。

这将列出具体的所有carid。

Import-Csv $File | Where-Object {
    $_.customer -eq $Customer
} | Select {$_."carid"}

1 个答案:

答案 0 :(得分:0)

对于您的特定情况,您希望使用Group-Object而不是Sort-Object -Unique。从分组信息构建新的自定义对象,并将它们导出到输出CSV文件。

Import-Csv $File | Group-Object customer | ForEach-Object {
    New-Object -Type PSObject -Property @{
        Customer = $_.Name
        Cars     = ($_.Group | Select-Object -Expand carid) -join ';'
    }
} | Export-Csv 'C:\path\to\output.csv' -NoType