Сначала я хочу добавить заголовки в файл CSV. Причина, по которой я хочу добавить заголовки, заключается в том, что для некоторых строк некоторые значения столбцов могут быть пустыми.
Согласно документации Microsoft, export-csv принимает только заголовки / столбцы, которые присутствуют в первой строке.
Когда вы отправляете несколько объектов в Export-CSV, Export-CSV организует файл> на основе свойств первого отправленного вами объекта. Если оставшиеся> объекты не имеют одно из указанных свойств, значение свойства> этого объекта равно нулю, как представлено двумя последовательными запятыми. Если> оставшиеся объекты имеют дополнительные свойства, эти значения свойств> не включаются в файл.
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/export-csv?view=powershell-6#notes
Что я пробовал до сих пор:
$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.