![](/img/trans.png)
[英]Retain Specific values in Excel sheet and remove others and get count of how many times repeated vbscript
[英]How to get the count of repeated values in PowerShell from an Excel Sheet
根據我的評論,從您的回復中,您走在了正確的道路上。 Group-Object
允許將腳本塊傳遞到您的-Property
參數中,您可以反過來使用-Replace
將屬性替換為嘗試匹配的名稱:
Import-Csv -Path ".\Testing.csv" |
Group-Object -Property { $_.Name -replace "(Jay)\w+",'$1' } -NoElement
指定-NoElement
會從結果中省略組的成員,從而為您留下:
Count Name
----- ----
2 Ajay
2 Jay
1 Ray
基於 Abraham 的解決方案,使用Group-Object
應該可以通過使用腳本塊來定義您想要分組的自定義屬性。 在這種情況下,我們可以檢查哪些名稱與其他名稱匹配並使用其中一個(我選擇了最短期限的 go)
# START TEST DATA
$data = @'
Name,PIA
Workday,23
Docusign,56
OneTrust,89
Mk Denial,78
How will you join Workday,45
Which Workday,23
OneTrust Maintenance,75
'@ | ConvertFrom-Csv
# END TEST DATA
# Replace $data below with Import-Csv Testing.csv
$data | Select-Object Name | Group-Object -Property {
$item = $_
if (($shortest = $data.name | Where-Object { $_ -ne $item.Name -and $item.name -match [regex]::Escape($_) } | Sort-Object {$_.Length} | Select-Object -First 1)) {
$shortest
}
else {
$item.Name
}
} | Select-Object Count, Name, @{n = 'Items'; e = { $_.Group.Name -join ', ' } }
Output
Count Name Items
----- ---- -----
1 Docusign Docusign
1 Mk Denial Mk Denial
2 OneTrust OneTrust, OneTrust Maintenance
3 Workday Workday, How will you join Workday, Which Workday
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.