You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定格式的JSON字符串转换并追加到CSV文件?(PowerShell)

将JSON数据追加到指定格式CSV的实现方法

核心思路

先把JSON字符串解析为PowerShell对象,再遍历转换为CSV要求的行结构,最后追加到目标CSV文件。

完整代码示例

# 替换成你的函数返回的JSON字符串
$jsonStr = '{"TownA":{"female":512,"male":468},"TownB":{"female":748,"male":845}}'

# 解析JSON为PowerShell对象
$townData = $jsonStr | ConvertFrom-Json

# 遍历生成符合CSV结构的自定义对象
$csvRows = foreach ($town in $townData.PSObject.Properties) {
    # 遍历每个城镇下的性别数据
    foreach ($genderEntry in $town.Value.PSObject.Properties) {
        [pscustomobject]@{
            town   = $town.Name       # 城镇名称
            value  = [float]$genderEntry.Value  # 数值转成浮点型
            gender = $genderEntry.Name          # 性别
        }
    }
}

# 追加到CSV文件,-Append自动处理表头(文件不存在则创建,存在则追加行)
$csvRows | Export-Csv -Path "C:\目标文件路径\人口数据.csv" -Append -NoTypeInformation -Encoding UTF8

关键细节说明

  • 解析JSON:ConvertFrom-Json直接把JSON字符串转成可遍历的PowerShell对象,不用手动拼接对象结构。
  • 遍历数据:用PSObject.Properties来获取动态的属性(比如TownA、TownB,以及female、male),避免硬编码城镇或性别名称,适配更多数据场景。
  • 追加CSV:-Append参数会自动处理表头逻辑:如果目标文件不存在,会先写入表头再写数据;如果文件已存在,直接追加数据行,不会重复输出表头。-NoTypeInformation用来去掉PowerShell默认添加的类型注释行。

内容的提问来源于stack exchange,提问作者TheRob87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:38:13