首页 > 解决方案 > 如何从csv文件循环遍历层次结构?

问题描述

给定以下 csv 文件,我如何正确循环遍历它?我需要某种哈希表吗?

.csv 文件:

AD/Profile Name,Org Level,Org Member
AD_Group1,Region,"China
USA"
AD_Group2,Sub Region,"China
Corp"
AD_Group3,Sub Region,USA

代码:

$clmns = Import-Csv .\File1.csv

foreach ($ADGroup in $clmns.'AD/Profile Name') {
    $ADGroup
    foreach ($orglvl in $ADGroup.'Org Level') {
    $orglvl
    
        foreach ($orgmember in $orglvl.'Org Member') {
            $orgmember
            
        }
    }
}

$orglvl当我运行它时并$orgmember没有打印出任何东西

预期结果:

AD_Group1
Region
China
USA
AD_Group2
Sub Region
China
Corp
AD_Group3
Sub Region
USA

标签: powershell

解决方案


这个怎么样?

$clmns = Import-Csv "G:\BEKDocs\Scripts\Test\File1.csv"

$clmns | 
  ForEach-Object {
    $orglvl = $_.'Org Level'
    $Members =  ($_.'Org Member').split("`r`n")
    "$($_.'AD/Profile Name')"
    For ($Cntr=0; $cntr -lt $Members.count; $Cntr+=2) { 
      "Member: $($Members[$($Cntr)]) `tLevel: $orglvl"
    }
  }

输出:

AD_Group1
Member: China   Level: Region
Member: USA     Level: Region
AD_Group2
Member: China   Level: Sub Region
Member: Corp    Level: Sub Region
AD_Group3
Member: USA     Level: Sub Region

高温高压


推荐阅读