Estoy tratando de crear un script que recupere datos ejecutando múltiples consultas a través de una API todos los días y luego agregue los valores a múltiples filas nuevas en un archivo CSV. ¿Cómo agrego todos los valores a varias filas nuevas en el archivo 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

Estoy tratando de evitar exportar a CSV después de cada consulta. ¿Es posible crear una tabla en PowerShell que se pueda adjuntar al CSV de una sola vez?

Aquí hay un ejemplo de mi salida CSV deseada

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

¿Cómo haría para agregar nuevas filas a la tabla hash antes de agregarlas, por ejemplo ...

'$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

¡Su ayuda será muy apreciada! Gracias

1
Cyclemonkey 21 oct. 2019 a las 00:41

1 respuesta

La mejor respuesta

Si puede combinar consultas en una colección, puede recorrerlas y crear cada entrada en forma de PSCustomObject. Este es un ejemplo en otra pregunta: matriz PSObject en PowerShell.

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

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

El informe final se puede exportar a CSV.

1
Alex_P 20 oct. 2019 a las 21:59