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

使用PowerShell处理CSV数据:去重Appid并保留对应不同Id

PowerShell实现重复Appid去重并收集对应Id的方案

没问题,这就帮你搞定这个需求!下面是具体的实现步骤和代码,完全贴合你的CSV数据场景:

1. 读取CSV数据

首先我们需要把你的CSV数据读入PowerShell,注意你的数据是空格分隔的,所以要指定分隔符:

# 如果是直接用你提供的文本数据
$csvData = @"
Id  Appid
12i5r6  123
4524hu  123
r664hf  963
gjh6hg  963
"@ | ConvertFrom-Csv -Delimiter " "

# 如果你的数据是本地CSV文件,替换成下面这行
# $csvData = Import-Csv -Path "C:\your-path\data.csv" -Delimiter " "

2. 分组处理并存储变量

接下来我们用Group-Object按Appid分组,然后分别完成两个目标:

  • 每个Appid只保留一个实例
  • 把同一个Appid对应的所有Id收集到变量中
# 创建哈希表,用来存储【Appid => 对应所有Id的数组】
$appIdToIdsMap = @{}
# 创建数组,存储去重后的Appid实例(每个Appid留一条)
$uniqueAppEntries = @()

# 遍历每个Appid分组
foreach ($appGroup in $csvData | Group-Object -Property Appid) {
    # 收集当前分组下的所有Id
    $allRelatedIds = $appGroup.Group.Id
    # 存入哈希表
    $appIdToIdsMap[$appGroup.Name] = $allRelatedIds
    # 保留该Appid的第一个实例(你也可以改成取最后一个,按需调整)
    $uniqueAppEntries += $appGroup.Group[0]
}

3. 验证结果

现在你可以直接使用这两个变量:

  • 查看每个Appid对应的所有Id:
$appIdToIdsMap

输出会是类似这样:

Name                           Value
----                           -----
123                            {12i5r6, 4524hu}
963                            {r664hf, gjh6hg}
  • 查看去重后的Appid实例:
$uniqueAppEntries

输出会是:

Id     Appid
--     -----
12i5r6 123
r664hf 963

这个方案灵活又直观,完全满足你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:42:45