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

PowerShell脚本优化:为所有重复邮箱条目添加location_id

解决PowerShell生成重复邮箱时所有条目追加location_id的问题

核心思路是先全局统计所有邮箱的重复次数,再遍历每一条数据,只要对应邮箱存在重复,就给该条目追加location_id,而非仅处理后续重复项。

修改后的脚本示例

# 替换为你的CSV文件路径
$csvPath = "input.csv"
$outputPath = "output.csv"

# 读取原始CSV数据
$userData = Import-Csv -Path $csvPath

# 按生成的邮箱地址分组,统计每个邮箱的出现次数
$emailGroups = $userData | Group-Object -Property Email

# 遍历每一条用户数据,处理重复邮箱
foreach ($user in $userData) {
    $targetGroup = $emailGroups | Where-Object { $_.Name -eq $user.Email }
    # 只要该邮箱出现次数大于1,就为当前条目追加location_id
    if ($targetGroup.Count -gt 1) {
        # 拆分邮箱的本地前缀和域名,拼接location_id
        $localPart, $domainPart = $user.Email -split "@", 2
        $user.Email = "$localPart+$($user.location_id)@$domainPart"
    }
}

# 将处理后的数据导出到新CSV
$userData | Export-Csv -Path $outputPath -NoTypeInformation

关键说明

  • 使用Group-Object提前统计所有邮箱的重复情况,确保能识别出所有需要处理的重复条目,包括第一个出现的重复项
  • 拆分邮箱时用-split "@", 2避免邮箱本地部分包含@的异常情况(虽然少见,但更健壮)
  • 这里用+作为分隔符(符合多数邮箱服务商的别名规则),如果需要其他格式,直接修改拼接逻辑即可,比如改成$localPart.$($user.location_id)@$domainPart

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 19:09:27