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

如何将指定JSON数据转为3个Pandas DataFrame?加载失败求助

JSON转Pandas DataFrame问题解决建议

你的问题

我有如下JSON数据:

{ "categories": [ { "category_id": "11decadd", "name": "Com", "category_type": "Type", "position": 5, "vela_defined": true, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" }, { "category_id": "c7010763", "name": "none", "category_type": "EquipmentStatus", "position": 1, "vela_defined": true, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2018-03-01 04:20:38 -0700" } ], "customizable_categories": [ { "customizable_category_id": "435ae18b", "name": "NA", "category_id": "11decadd", "position": 1, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" }, { "customizable_category_id": "51e607d8", "name": "Third Party", "category_id": "fafab667", "position": 2, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" } ], "equipment_category_status_sets": [ ] }

我尝试将其转换为以JSON顶级条目命名的3个Pandas DataFrame,但始终无法加载,恳请提供解决建议。

可行的解决步骤

我帮你整理了一套直接可行的代码方案,你可以照着操作:

1. 导入必要库并解析JSON

首先确保导入pandas和json,然后把JSON数据解析成Python字典——这是转换DataFrame的关键前提:

import pandas as pd
import json

# 把你的JSON数据存为字符串(如果是本地文件,看下面的补充)
json_data = '''{ "categories": [ { "category_id": "11decadd", "name": "Com", "category_type": "Type", "position": 5, "vela_defined": true, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" }, { "category_id": "c7010763", "name": "none", "category_type": "EquipmentStatus", "position": 1, "vela_defined": true, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2018-03-01 04:20:38 -0700" } ], "customizable_categories": [ { "customizable_category_id": "435ae18b", "name": "NA", "category_id": "11decadd", "position": 1, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" }, { "customizable_category_id": "51e607d8", "name": "Third Party", "category_id": "fafab667", "position": 2, "created_at": "2017-02-15 01:49:23 -0700", "updated_at": "2017-02-15 01:49:23 -0700" } ], "equipment_category_status_sets": [ ] }'''

# 解析为Python字典
parsed_data = json.loads(json_data)

如果JSON存在本地文件中,替换成以下代码读取:

# 从本地文件读取JSON
with open('your_file.json', 'r', encoding='utf-8') as f:
    parsed_data = json.load(f)

2. 生成对应顶级条目的DataFrame

直接遍历字典的顶级键,用pd.DataFrame()把每个键对应的列表转换成DataFrame即可,空列表也能生成空的DataFrame:

# 分别创建三个目标DataFrame
df_categories = pd.DataFrame(parsed_data['categories'])
df_customizable_categories = pd.DataFrame(parsed_data['customizable_categories'])
df_equipment_status_sets = pd.DataFrame(parsed_data['equipment_category_status_sets'])

3. 验证转换结果

你可以打印每个DataFrame确认是否成功:

print("=== Categories DataFrame ===")
print(df_categories)
print("\n=== Customizable Categories DataFrame ===")
print(df_customizable_categories)
print("\n=== Equipment Status Sets DataFrame ===")
print(df_equipment_status_sets)

常见问题排查

如果还是加载失败,大概率是这几个原因:

  • JSON格式错误:检查JSON是否有语法问题,比如引号不匹配、末尾多逗号等,可以用VS Code的JSON插件这类工具快速校验。
  • 文件读取问题:确保文件路径正确,且文件编码为UTF-8,避免乱码导致解析失败。
  • Pandas版本过旧:旧版Pandas对部分JSON结构支持不足,尝试升级到最新稳定版:pip install --upgrade pandas

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:22:59