首页 > 解决方案 > powershell csv捕获三列的1个值

问题描述

我有一个 CSV,其中的数据显示如下:..

#date,a,b,c#
10,1,0,0
11,0,0,1
12,0,1,0
13,0,1,0
14,0,0,1
15,1,0,0
16,0,1,0
17,1,0,0
18,1,0,0
19,0,0,1

我想用“1”标题A,B,C捕获列值,每行只有一个“1”出现一次......我希望我的输出符合以下内容

A,C,B,B,C,A,B,A,A,C

任何帮助表示赞赏。谢谢

标签: powershellcsv

解决方案


  • 只需遍历$Row数据表 ( ) 中的每一行 ( $data)

  • 'a', 'b', 'c'收集所有符合您要求的相关列( )(例如-eq 1

  • 如果只有一列满足要求,则返回结果

ForEach ($Row in $Data) {
    $Header = ('a', 'b', 'c').Where{ $Row.$_ -eq 1}
    If ($Header.Count -eq 1) { $Header }
}

推荐阅读