【问题标题】:Convert array of objects with mismatched properties to csv将具有不匹配属性的对象数组转换为 csv
【发布时间】:2021-07-11 12:04:25
【问题描述】:

简而言之,如何转换这个

$al = New-Object System.Collections.ArrayList

$al+=[PSCustomObject]@{prop1="value1"; prop2="value2"}
$al+=[PSCustomObject]@{prop1="value11"; prop3="value33"}
$al+=[PSCustomObject]@{prop4="value444"}

进入这个

【问题讨论】:

标签: arrays powershell csv


【解决方案1】:

使用psobject隐藏成员集在导出前发现所有属性名称:

$propertyNames = $al |ForEach-Object {
  # Discover all the object's properties
  $_.psobject.Properties |ForEach-Object {
    # Get each property name
    $_.Name
  }
} |Sort-Object -Unique

# Now the CSV will have a column for every single unique property name
$al |Select-Object $propertyNames |Export-Csv -Path $Path1 -NoTypeInformation

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 1970-01-01
    • 2021-10-24
    • 2019-02-10
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2022-12-08
    相关资源
    最近更新 更多