You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中对CSV转换后的数组去重获取唯一值?

解决PowerShell CSV转换后对象数组的重复条目问题

你之前用Get-Unique没成功,是因为这个 cmdlet 针对ConvertFrom-CSV生成的PSCustomObject自定义对象时,默认按对象的字符串表示(也就是类型名)判断重复——不管Server和Env属性值是否一致,它都会把每个对象当成不同条目。

给你两种靠谱的去重方法:

方法1:保留指定属性并去重

如果只需要保留Server和Env属性,直接用Select-Object的-Unique参数,指定判断重复的属性组合:

$serverenv | Where-Object { $_.Env -ne '' } | Select-Object Server, Env -Unique

方法2:保留完整对象并去重

如果要保留对象的所有属性,先通过Group-Object把属性值相同的对象分组,再取每组的第一个对象:

$serverenv | Where-Object { $_.Env -ne '' } | Group-Object Server, Env | ForEach-Object { $_.Group[0] }

另外你之前写的select Get-Unique是语法错误,正确用法是Select-Object -Unique,直接用Get-Unique对自定义对象无效的原因前面已经说明。

内容的提问来源于stack exchange,提问作者Rod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:22:02