在Powershell中将JSON转换为Csv列
我想将我的JSON转换成下面的CSV输出。我正在努力将结果数据解析为两列 CSV输出: 我的JSON输出如下: 下面的代码提取结果,但是时间戳和值都在同一列中在Powershell中将JSON转换为Csv列,powershell,csv,Powershell,Csv,我想将我的JSON转换成下面的CSV输出。我正在努力将结果数据解析为两列 CSV输出: 我的JSON输出如下: 下面的代码提取结果,但是时间戳和值都在同一列中 $Output1 = ConvertTo-Json $JSON $Output2 = ConvertFrom-Json $Outage2 | Select -ExpandProperty 'value' | Select -ExpandProperty 'results' 任何帮助都将不胜感激 干杯 到目前为止,您已经使用json文
$Output1 = ConvertTo-Json $JSON
$Output2 = ConvertFrom-Json $Outage2 | Select -ExpandProperty 'value' | Select -ExpandProperty 'results'
任何帮助都将不胜感激
干杯 到目前为止,您已经使用json文档中所有以空格分隔的字符串值创建了一个字符串数组$output2-到目前为止,一切都很好 现在,我们可以使用-split运算符将两列拆分为单独的字符串:
$results = $output2 |ForEach-Object {
$ts,$value = -split $_
[pscustomobject]@{
TIMESTAMP = $ts
VALUE = $value
}
}
现在我们有了一个对象数组,其中两个值被适当地命名为属性TIMESTAMP和VALUE,我们可以使用Export Csv:
到目前为止,您已经使用json文档中所有以空格分隔的字符串值创建了一个字符串数组$output2-到目前为止,一切都很好 现在,我们可以使用-split运算符将两列拆分为单独的字符串:
$results = $output2 |ForEach-Object {
$ts,$value = -split $_
[pscustomobject]@{
TIMESTAMP = $ts
VALUE = $value
}
}
现在我们有了一个对象数组,其中两个值被适当地命名为属性TIMESTAMP和VALUE,我们可以使用Export Csv:
只需按空间分割这些值:
(ConvertFrom-Json $JSON).value.results | `
% { $pair = $_ -split ' '; [PSCustomObject]@{Timestamp=$pair[0]; Value=$pair[1]}} `
| ConvertTo-Csv -NoTypeInformation
只需按空间分割这些值:
(ConvertFrom-Json $JSON).value.results | `
% { $pair = $_ -split ' '; [PSCustomObject]@{Timestamp=$pair[0]; Value=$pair[1]}} `
| ConvertTo-Csv -NoTypeInformation
把结果分成两半。您可以通过管道将其导出到csv
'1581292800000 270',
'1581292860000 347',
'1581292920000 348' | foreach {
$timestamp,$value = -split $_
[pscustomobject]@{Timestamp = $timestamp
Value = $value}
}
Timestamp Value
--------- -----
1581292800000 270
1581292860000 347
1581292920000 348
把结果分成两半。您可以通过管道将其导出到csv
'1581292800000 270',
'1581292860000 347',
'1581292920000 348' | foreach {
$timestamp,$value = -split $_
[pscustomobject]@{Timestamp = $timestamp
Value = $value}
}
Timestamp Value
--------- -----
1581292800000 270
1581292860000 347
1581292920000 348
同意。OP提供了一个很好的示例,并且做得很好,完成了90%的工作!同意。OP提供了一个很好的示例,并且做得很好,完成了90%的工作!