【问题标题】:How to create CSV output from JSON?如何从 JSON 创建 CSV 输出?
【发布时间】:2015-09-06 01:31:19
【问题描述】:

我的 JSON 查询返回我想使用 powershell 解析的天气数据。我想删除所有不必要的项目并将最终文件导出为 CSV 或 txt。

$json = Get-Content -Raw $path | ConvertFrom-Json #get JSON object from directory and convert to powershell object
$hourly = $json.hourly_forecast
$FCTTIME = $hourly.FCTTIME
$pretty = $FCTTIME | Select pretty

$temp = $hourly.temp
$eng = $temp | Select english

$parsed = $eng, $pretty

它似乎工作正常,但是当我在 CSV 中输出 $parsed 时,它具有对象属性而不是 $eng$pretty 的值。有没有更简单的方法来解析 JSON 文件,或者我可以在最后一步中组合数组?

【问题讨论】:

    标签: json powershell csv


    【解决方案1】:

    展开属性。此外,Export-Csv 导出对象的属性,而不是数组的值。像这样的东西应该可以工作:

    Get-Content -Raw $path |
      ConvertFrom-Json |
      select -Expand hourly_forecast |
      select @{n='Pretty';e={$_.FCTTIME | select -Expand pretty}},
             @{n='English';e={$_.temp | select -Expand english}} |
      Export-Csv 'C:\output.csv' -NoType
    

    【讨论】:

    • 这看起来几乎可以工作,但输出中的“漂亮”列是空的?
    • @hwustrack 对不起,错字。 $_FCTTIME 之间缺少一个点。固定。
    猜你喜欢
    • 1970-01-01
    • 2019-09-16
    • 2021-04-11
    • 2018-10-03
    • 2013-06-07
    • 2021-04-17
    • 2022-11-03
    • 2021-04-12
    • 1970-01-01
    相关资源
    最近更新 更多