【发布时间】:2020-01-17 06:53:57
【问题描述】:
我正在尝试创建一个脚本,每周从 API 检索数据并将值附加到 CSV 文件中的新行。如何将所有值附加到 CSV 文件中的新行。
第 1 部分创建一个包含两个数组的对象 (1) 列名 (2) 稍后将在脚本中运行的 API 查询
$QUERY = @()
$QUERY += New-Object -TypeName psobject -Property @{ColumnName="HOME"; Value='API QUERY TO RETRIEVE A VALUE'}
$QUERY += New-Object -TypeName psobject -Property @{ColumnName="ADMIN"; Value='API QUERY TO RETRIEVE A VALUE'}
$QUERY += New-Object -TypeName psobject -Property @{ColumnName="CUSTOM"; Value='API QUERY TO RETRIEVE A VALUE'}
#... There will be approx 30 more lines similar to the above
第二部分运行 API 查询并检索一个值。
foreach ( $_ in $QUERY )
{
$_.Query= Invoke-RestMethod -Uri $url -Method POST -Headers $headers -ContentType $contentType -Body $_.Query | select -expand results
}
如何将所有 $QUERY 数组附加到 CSV 文件的新行中。我希望根据 $QUERY.ColumnName 将 $Query.Value 放置在适当的位置,以防止将错误的数字放置在错误的列中。
这是我的 CSV 示例
HOME,ADMIN,CUSTOM; #ColumnName
12345,67891,76543; #Existing Values e.g Week 1
34556;35453,86567; #Existing Values e.g Week 2
25345,75391,86243; #I want to append a new row
我已经玩了一段时间了,但运气不佳!任何指导将不胜感激!谢谢:)
【问题讨论】:
-
Invoke-RestMethod的输出是什么?我想知道如何检索 HOME、ADMIN 和 CUSTOM。 -
它的值类似于 CSV 中的值,例如 HOME = 12345, ADMIN = 67891, CUSTOM = 76543。
标签: arrays powershell csv append