PowerShell读取CSV并遍历组数组

在 PowerShell 中,从 CSV 文件获取 Group 列的数据并遍历输出,可以按照以下步骤操作:

步骤说明:

  1. 读取 CSV 文件:使用 Import-Csv 命令加载 CSV 数据。

  2. 提取 Group 数组:通过管道操作 | Select-Object -ExpandProperty Group 提取指定列的值。

  3. 遍历数组:使用 foreach 循环或 ForEach-Object 遍历每个元素并输出。

# 1.1 读取CSV文件并提取Group列的值到数组
$groups = Import-Csv -Path "你的文件路径.csv" | Select-Object -ExpandProperty Group

# 1.2 遍历数组并输出所有元素
foreach ($group in $groups) {
    Write-Output "当前组: $group"
}

# 2.1 或者使用管道简洁写法(效果相同):
Import-Csv "你的文件路径.csv" | ForEach-Object { 
    Write-Output "当前组: $($_.Group)" 
}

# powered by https://zhengkai.blog.csdn.net/

关键参数说明:

参数/命令 作用
Import-Csv -Path 加载 CSV 文件(路径需替换为实际文件路径)
Select-Object -ExpandProperty Group 提取名为 Group 的列,直接返回其值数组(而非对象)
foreach 循环遍历数组中的每个元素
$($_.Group) 在管道中访问当前对象的 Group 属性($_ 表示当前对象)

示例 CSV 文件内容:

(假设文件名为 groups.csv):

Name,Group
Alice,Admin
Bob,Developer
Charlie,Admin
Diana,Manager

 执行结果:

当前组: Admin
当前组: Developer
当前组: Admin
当前组: Manager

空值处理

如果 CSV 中存在空值,遍历时会输出空行。可通过条件过滤:

$groups | Where-Object { $_ } | ForEach-Object { Write-Output "组: $_" }

去重处理:

$uniqueGroups = Import-Csv groups.csv | Select-Object -ExpandProperty Group | Sort-Object -Unique 

 

终极练习:排序加去重

$uniqueGroups = Import-Csv "D:\Workspace\Data\powershell\group.csv" | Select-Object -ExpandProperty Group | Sort-Object -Unique

# 1.2 遍历数组并输出所有元素
foreach ($group in $uniqueGroups) {
    Write-Output "当前组: $group"
}

# powered by https://zhengkai.blog.csdn.net/

PowerShell读取CSV并遍历组数组_第1张图片

你可能感兴趣的:(SCRIPT/BATCH,Powershell,batch,csv)