首页 > 解决方案 > 删除 CSV 中的所有重复条目

问题描述

我有一个与此类似的问题:

Powershell - 删除所有重复的条目

但是当有更多列时,有没有办法处理这个问题,如下所示:

1 德国柏林
1 德国法兰克福
1 德国慕尼黑
2 英国伦敦
3 美国华盛顿
3 美国西雅图
4 奥地利维也纳

仅应使用第一列来确定是否存在重复项。如果发现重复,则应删除整行。

因此,在这种情况下,预期结果将是:

2 英国伦敦
4 奥地利维也纳

(因为只有数字 2 和 4 在 CSV 中只出现一次)

#First I load a csv.
$Liste = import-csv -path $Eingabedatei -delimiter ','

它只包含上面提到的列。第一列称为“EintragNr”。

我试过这样(使用上述示例中的代码作为基础)

$Liste | Format-Table | Group-Object EintragNr | ? Count -eq 1 | % Name 

但我没有得到任何结果。我使用的是Format-table因为在输出中我需要包含该行中的所有列。

标签: powershellduplicates

解决方案


你不需要格式表,试试这个:

$Liste | Group-Object EintragNr | ? Count -eq 1 | % {$_.Group[0]}

推荐阅读