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

如何使用单个foreach循环读取CSV文件的多列数据?

如何在PowerShell的单个foreach循环中同时读取CSV的两列数据

当然可以,但你尝试的语法是错误的。PowerShell的foreach循环一次只能遍历一个集合,直接遍历CSV的行对象就能同时获取每一行的userID和domain属性,确保两者一一对应。

正确的实现方式

假设你已经通过Import-Csv导入了CSV文件(比如$ws = Import-Csv -Path "your-file.csv"),直接遍历每一行对象即可:

foreach ($row in $ws) {
    # 获取当前行的userID和domain值
    $userId = $row.userID
    $domain = $row.domain
    
    # 生成邮箱地址示例
    $emailAddress = "$userId@$domain"
    
    # 执行你的业务逻辑,比如输出邮箱地址
    Write-Host "生成的邮箱:$emailAddress"
}

为什么你的写法行不通

你尝试的foreach ($E in $ws.'userID', $D in $ws.'domain')是无效语法,PowerShell不支持这种同时遍历两个集合的写法。而且即使你分开遍历两个列,一旦CSV的行数出现异常(比如某列数据缺失),会导致userID和domain的对应关系错乱,而遍历行对象能完全避免这个问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:05:35