查看: 7|回复: 0

PowerShell读取CSV并遍历数组的流程步骤

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-1-25
发表于 2025-11-5 10:02:42 | 显示全部楼层 |阅读模式

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

步骤说明:

  • 读取 CSV 文件:使用 Import-Csv 命令加载 CSV 数据。
  • 提取 Group 数组:通过管道操作 | Select-Object -ExpandProperty Group 提取指定列的值。
  • 遍历数组:使用 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/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部