查看: 17|回覆: 0

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

[複製鏈接]

3

主題

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.

在本版发帖返回顶部