Как экспортировать данные из Powershell в файл CSV в строку с существующими данными в других столбцах? - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь добавить данные в CSV-файл по одной ячейке за раз, в зависимости от того, в каком столбце он должен быть. Мой текущий скрипт использует командлет Add-Content, за которым следует -Value ",,$data", который вставляется вжелаемый столбец на основе количества запятых.Однако командлет Add-Content вставляется в новую строку при каждом вызове, поэтому мои данные выглядят очень фрагментированными.

Единственное другое решение, которое мне удалось найти, - это создание временного объекта для экспорта в Csv(т. е. New-Object PSObject -Property @{col1 = $data}), но это не позволяет мне вставить более одной строки после строки заголовка.

Мой текущий код:

ForEach ($user in $subSite.Users) {
    if (($user -ne $null) -and ($user.Name -ne $null)) {
        if ($user.Roles.Name -contains "Full Control") {
            Add-Content -Path $outFile -Value ",$user"
        }
        elseif ($user.Roles.Name -contains "Site Owner") {
            Add-Content -Path $outFile -Value ",,$user"
        }
        elseif ($user.Roles.Name -contains "Site Administrator") {
            Add-Content -Path $outFile -Value ",,,$user"
        }
    }
}

Вся помощь приветствуется.Спасибо!

Редактировать: Вот пример того, что записывается в выходной файл.Не то чтобы это важно, но заголовок добавлен ранее в скрипт.

https://drive.google.com/file/d/1Sbye-ZU9PouOPwBOXdtke-xJooloaFRz/view?usp=sharing

Обратите внимание на фрагментацию, поскольку Add-Content создает новую строку при каждом вызове.Я рассмотрел параметр -NoNewLine, но он не будет работать, если мне нужно будет добавить новый фрагмент данных в тот же столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...