如何将哈希表中的数组导出到CSV?

时间:2018-07-23 15:08:30

标签: powershell export-to-csv

我有一个哈希表,其中包含字符串数组,例如

Name                      Value
----                      -----
ID1                       {SN1,IN1}
ID2                       {SN2,IN2}
ID3                       {SN3,IN3}
ID4                       {SN4,IN4}        
...                       ...

SN#IN#是字符串。

我想将此哈希表导出为以下格式的CSV文件:

 SN | IN
---------
SN1 | IN1
SN2 | IN2
SN3 | IN3
SN4 | IN4
... and so on. 

2 个答案:

答案 0 :(得分:2)

从每个嵌套数组构建自定义对象,然后将其导出到CSV:

$ht.GetEnumerator() | ForEach-Object {
    New-Object -Type PSObject -Property @{
        'SN' = $_.Value[0]
        'IN' = $_.Value[1]
    }
} | Select-Object SN, IN | Export-Csv 'output.csv' -NoType

答案 1 :(得分:1)

您可以执行以下操作:

$objects = foreach($ID in $hashtable.Keys){
  New-Object psobject -Property @{
    ID = $ID
    SN = @($hashtable[$ID] |Where {$_ -like 'SN*'}) -join ','
    IN = @($hashtable[$ID] |Where {$_ -like 'IN*'}) -join ','
  }
}

$objects |Export-Csv path\to\my.csv