Добавить несколько строк в CSV-файл в Powershell - PullRequest
1 голос
/ 21 октября 2019

Я пытаюсь создать скрипт, который извлекает данные, выполняя несколько запросов через API каждый день, а затем добавляет значения в несколько новых строк в файле CSV. Как добавить все значения в несколько новых строк в файле CSV.

#Category 1 Queries

$C1_Range1 = 'API query...'
$C1_Range2 = 'API query...'
$C1_Range3 = 'API query...'

#Category 2 Queries

$C2_Range1 = 'API query...'
$C2_Range2 = 'API query...'
$C2_Range3 = 'API query...'

...

Export-Csv 'C:\path\to\your.csv' -NoType -Append

Я пытаюсь избежать экспорта в CSV после каждого запроса. Можно ли построить таблицу в PowerShell, которая может быть добавлена ​​в CSV за один раз?

Вот пример моего желаемого вывода CSV

DATE, CATEGORY, RANGE, VALUE        #ColumnName
...
09/10/2019, CAT1, RANGE3, 34567     #Existing Values
09/10/2019, CAT2, RANGE1, 12345
09/10/2019, CAT2, RANGE2, 98776
09/09/2019, CAT2, RANGE3, 45654
10/10/2019, CAT1, RANGE1, 12345 
10/10/2019, CAT1, RANGE2, 23456
10/10/2019, CAT1, RANGE3, 34567
10/10/2019, CAT2, RANGE1, 98765
10/10/2019, CAT2, RANGE2, 87654
10/10/2019, CAT2, RANGE3, 34567     #I want to append all the new queries to the bottom

Как бы я хотел добавитьновые строки в хеш-таблицу, прежде чем я добавлю их, например ...

'$NewRow = Date + Category + Range + Query 1
Add to bottom of $table

$NewRow = Date + Category + Range + Query 1
Add to bottom of $table

$NewRow = Date + Category + Range + Query 1
Add to bottom of $table'

...
And then I can append to the CSV

Ваша помощь будет высоко оценена! Спасибо тебе

1 Ответ

1 голос
/ 21 октября 2019

Если вы можете объединить запросы в коллекции, вы можете просмотреть их и создать каждую запись в виде PSCustomObject. Это один пример из другого вопроса: Массив PSObject в PowerShell .

$coll = @(
   Range1,
   Range2,
   Range3,
   ...
)

$table = foreach ($item in $coll)
{
   [PSCustomObject]@{
      'Date' = Get-Date
      'Category' = $item.Category
      'Range' = $item.Name
      'Value' = $item.Value
   }
}

Окончательный отчет, который можно экспортировать в CSV.

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