我想最初将标题添加到 CSV 文件。我最初要添加标题的原因是某些行,某些列值可能为空。
根据 Microsoft 文档,export-csv 仅采用第一行中存在的标题/列。
当您向 Export-CSV 提交多个对象时,Export-CSV > 根据您提交的第一个对象的属性来组织文件。如果剩余的 >objects 没有指定的属性之一,则 >那个 object 的属性值为 null,由两个连续的逗号表示。如果 >remaining 对象具有其他属性,则这些属性值不会 >包含在文件中。
到目前为止我已经尝试过:
$csvContents =@()
foreach ($item in $items) {
$row = New-Object System.Object # Create an object to append to the array
$row | Add-Member -MemberType NoteProperty -Name "header1" -Value "value1"
$row | Add-Member -MemberType NoteProperty -Name "header2" -Value "value2"
$row | Add-Member -MemberType NoteProperty -Name "header3" -Value "value3"
$csvContents += $row # append the new data to the array
}
$csvContents | Export-CSV -NoTypeInformation -Path $ResultCsvPath
问题是例如 Item1 可能只有 header1 和 header3,这意味着这些列是动态的。因此,导出后的结果 csv 将仅包含 header1 和 header3,并且 header2 将丢失。
我期望的是我想最初添加 header1、header2、header3。