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

如何将Oracle Service Cloud Right Now API导出的JSON报表转为CSV表格?

将Oracle Service Cloud Right Now API导出的JSON转换为CSV表格

导出的JSON格式示例

{
    "count": 2,
    "name": "filename",
    "columnNames": [
            "Name1",
            "Name2",
            "Name3",
            "Name4",
            "Name5"
    ],
    "rows": 
    [
        [
         "ValueColumn1Row1",
         "ValueColumn2Row1",
         "ValueColumn3Row1",
         "ValueColumn4Row1",
         "ValueColumn5Row1"
        ],
        [
         "ValueColumn1Row2",
         "ValueColumn2Row2",
         "ValueColumn3Row2",
         "ValueColumn4Row2",
         "ValueColumn5Row2"
        ]
    ],
    "links": 
    [
        {
        "rel": "self",
        "href": "https://somecompany.custhelp.com/services/rest/connect/v1.4/analyticsReportResults"
        }
    ]
}

目标CSV表格格式

Name1Name2Name3Name4Name5
ValueColumn1Row1ValueColumn2Row1ValueColumn3Row1ValueColumn4Row1ValueColumn5Row1
ValueColumn1Row2ValueColumn2Row2ValueColumn3Row2ValueColumn4Row2ValueColumn5Row2

试过Power Query和多款在线转换器,都无法正确识别columnNames作为表头并匹配rows数据,以下是两种简单的实现方法:


方法1:Python极简脚本(零编程基础也能操作)

步骤:

  1. 下载安装Python(安装时勾选「Add Python to PATH」选项)
  2. 新建一个文本文件,复制以下代码进去,保存为json_to_csv.py
  3. 将你的JSON文件重命名为input.json,和脚本放在同一个文件夹里
  4. 双击运行脚本,自动生成output.csv文件

脚本代码:

import json
import csv

# 读取JSON文件
with open('input.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 提取表头和数据行
headers = data['columnNames']
rows = data['rows']

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

方法2:Excel VBA(适合熟悉Excel的用户)

步骤:

  1. 打开Excel,按Alt+F11打开VBA编辑器
  2. 点击「插入」→「模块」,复制以下代码到模块中
  3. 将JSON内容粘贴到Sheet1的A1单元格(或修改代码中读取文件的路径)
  4. 运行宏,转换后的表格会自动生成在Sheet2中

VBA代码:

Sub JSONToCSV()
    Dim jsonStr As String
    Dim jsonObj As Object
    Dim headers As Variant
    Dim rows As Variant
    Dim i As Integer, j As Integer
    
    ' 从Sheet1的A1单元格读取JSON内容
    jsonStr = Sheet1.Range("A1").Value
    
    ' 解析JSON对象
    Set jsonObj = CreateObject("Scripting.Dictionary")
    Set jsonObj = JsonConverter.ParseJson(jsonStr)
    
    ' 获取表头和数据行
    headers = jsonObj("columnNames")
    rows = jsonObj("rows")
    
    ' 清空Sheet2并写入数据
    Sheet2.Cells.Clear
    ' 写入表头
    For i = LBound(headers) To UBound(headers)
        Sheet2.Cells(1, i + 1).Value = headers(i)
    Next i
    ' 写入数据行
    For i = LBound(rows) To UBound(rows)
        For j = LBound(rows(i)) To UBound(rows(i))
            Sheet2.Cells(i + 2, j + 1).Value = rows(i)(j)
        Next j
    Next i
End Sub

注意:使用此方法需要先安装JsonConverter模块,可通过VBA编辑器的「工具」→「引用」添加,或直接导入对应的模块文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:12:22