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

如何将含columns和rows字段的CSV结构JSON转换为实际CSV数据

JSON转CSV实现方案

通用处理逻辑

  • 第一步:提取JSON中columns数组下所有name字段的值,拼接成CSV的表头行,字段之间用半角逗号分隔
  • 第二步:遍历JSON中rows数组的每一行数据,将每行的数组元素按顺序拼接成数据行,同样用半角逗号分隔
  • 第三步:处理特殊字符转义:如果单元格内容包含半角逗号、双引号、换行符,需要给整个单元格内容包裹双引号,同时内容中原有的双引号要替换为两个连续的双引号
  • 第四步:所有行拼接完成后就是标准CSV格式,可直接保存为.csv后缀文件

示例实现(Python)

不需要额外安装第三方库,用Python内置的csv模块即可自动处理转义逻辑,代码如下:

import csv
import json

# 输入的JSON字符串,也可以从本地文件读取
json_str = '''
{
  "columns": [
      {"name": "ColumnName1", "type": "Number"},
      {"name": "ColumnName2", "type": "String"},
      {"name": "ColumnName3", "type": "String"}
  ],
  "rows": [
      [11111, "ResourceType1", "String1"],
      [22222, "ResourceType2", "String2"],
      [33333, "ResourceType3", "String3"]
  ]
}
'''

# 解析JSON数据
data = json.loads(json_str)
# 提取表头列表
headers = [col["name"] for col in data["columns"]]

# 写入CSV文件
with open("output.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    # 写入表头
    writer.writerow(headers)
    # 批量写入所有行数据
    writer.writerows(data["rows"])

转换后输出效果

运行上述代码得到的output.csv内容如下:

ColumnName1,ColumnName2,ColumnName3
11111,ResourceType1,String1
22222,ResourceType2,String2
33333,ResourceType3,String3

注意:如果需要适配Excel打开不乱码,可以将文件编码设置为utf-8-sig,即可避免中文乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:39:01