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

多JSON转Excel:如何将list类型labels列转为逗号分隔值

问题:JSON转Excel时无法将list类型的「labels」列转为逗号分隔值

我有大量JSON文件需要转换为Excel表格,其余步骤均能正常完成,但在最后一步遇到报错:无法将数据类型为list的「labels」列转换为逗号分隔值。

附上JSON示例:

{
    "color":"DEFAULT","isTrashed":false,
    "isPinned":false,
    "isArchived":false,
    "textContent":"Note's sample text",
    "title":"Note's Title",
    "userEditedTimestampUsec":1633783789813000,
    "createdTimestampUsec":1619811485384000,
    "labels":
    [
        {"name":"REF"},
        {"name":"2021"}
    ]
}

按照某YouTube教程对应片段操作时,教程可行的步骤在我这里出现错误。我的需求是将所有列整合为单条记录,嵌套变量以逗号分隔值的形式存入同一记录中。


解决方案

报错原因

教程中的JSON可能是简单字符串数组格式(如["REF","2021"]),但你的labels是对象数组,每个元素包含name字段,直接转换时工具无法自动识别并提取目标值,导致报错。

方法1:Python批量处理(高效适合大量文件)

用pandas库提取labels中的name字段,再合并为逗号分隔字符串:

import pandas as pd
import json
import os

def batch_json_to_excel(folder_path):
    all_data = []
    # 遍历文件夹下所有JSON文件
    for file_name in os.listdir(folder_path):
        if file_name.endswith(".json"):
            file_path = os.path.join(folder_path, file_name)
            with open(file_path, "r", encoding="utf-8") as f:
                data = json.load(f)
                # 处理labels列:提取name并合并
                if "labels" in data and isinstance(data["labels"], list):
                    data["labels"] = ", ".join([item["name"] for item in data["labels"]])
                all_data.append(data)
    # 转换为Excel
    df = pd.DataFrame(all_data)
    df.to_excel("output.xlsx", index=False)

# 替换为你的JSON文件所在文件夹路径
batch_json_to_excel("./your_json_files")

方法2:Excel Power Query(无需代码)

适合不想写代码的场景,通过Power Query提取并合并值:

  1. 打开Excel,点击「数据」选项卡 → 「获取数据」→ 「文件」→ 「从JSON」(批量处理选「从文件夹」)
  2. 在Power Query编辑器中,找到labels列,点击列右侧的双箭头图标
  3. 选择「提取值」,在弹出窗口中设置分隔符为「逗号」,点击确定
  4. 此时labels列会变为逗号分隔的文本,点击「关闭并上载」即可生成Excel表格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 16:53:18