我正在尝试解析网络请求。什么是最好的方法?获取变量到字符串数组还是对象数组?
webrequest 提供了一个字符串对象,但我不能按行拆分,因为有些行是多行的。
逗号分隔是最好的选择吗?我遇到了困难并且没有想法。
$webresponse = (invoke-webrequest -Uri "https://docs.google.com/spreadsheets/d/e/2PACX-1vR99VhhEfs2VKo3FWuTqC66vEzlmiqAODGiAaicmswvyf3PdtOX2YYoP72ou52CdUpgqEbr9OAK6X0x/pub?output=csv").content
如果我用逗号分隔
$webresponse.Split(",")
我可以将它放入一个字符串数组中,但不确定下一步或即使这是完成此任务的最有效方法。 任何帮助将不胜感激 提前致谢
答案 0 :(得分:4)
响应是 CSV,因为 URL 用 output=csv
参数表示。
使用 ConvertFrom-Csv
cmdlet。
$webresponse = Invoke-Webrequest -Uri "https://docs.google.com/spreadsheets/d/e/2PACX-1vR99VhhEfs2VKo3FWuTqC66vEzlmiqAODGiAaicmswvyf3PdtOX2YYoP72ou52CdUpgqEbr9OAK6X0x/pub?output=csv"
$data = $webresponse.Content | ConvertFrom-Csv -Delimiter ","
$data
将是一个数组。
$data.Count
# 175
PowerShell 会默认假设 CSV 有标头,这里就是这种情况。
$data[0]
# Tweet DateTime
# ----- --------
# SPOT PLATINUM FALLS OVER 5% TO $1,007.20/OZ January 11, 2021 at 08:25AM
$data[0].Tweet
# SPOT PLATINUM FALLS OVER 5% TO $1,007.20/OZ