#powershell #csv
#powershell #csv
Вопрос:
Итак, следующий код создает файл csv только с последней строкой. Мне нужно, чтобы все 5 строк (с тестовым файлом, который я использую) были заполнены и экспортированы в файл csv.
$url = "https://example.com/api"
$data_type = "application/json"
$headers = @{
"Content-Type" = $data_type
"Accept" = "application/json"
}
$userId = ""
Import-CSV './userIds.csv' | ForEach-Object {
$userId = $_.id
$body = @{
Identity = $userId
Site = "site_name"
APIKey = "secret"
}
$body_json = $body | Convertto-JSON
$result = Invoke-RestMethod -Method 'Post' -Uri $url -Headers $headers -Body $body_json
}
$result | Export-Csv 'C:scriptspowershelloutput.csv' -NoType
Я пробовал $list = $result
, но я просто получаю кучу ошибок. Есть идеи?
Ответ №1:
Похоже, я понял магию…
$url = "https://example.com/api"
$data_type = "application/json"
$headers = @{
"Content-Type" = $data_type
"Accept" = "application/json"
}
$userId = ""
$list = @()
Import-CSV './userIds.csv' | ForEach-Object {
$userId = $_.id
$body = @{
Identity = $userId
Site = "site_name"
APIKey = "secret"
}
$body_json = $body | Convertto-JSON
$result = Invoke-RestMethod -Method 'Post' -Uri $url -Headers $headers -Body $body_json
$list = result
}
$list | Export-Csv 'C:scriptspowershelloutput.csv' -NoType
Для меня это не имеет смысла, потому что это массив таблиц… но если это каким-то образом сработает, объединяя таблицы в одну таблицу … тогда я счастлив.