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

如何在Python中读取嵌套JSON并提取Case Status转为DataFrame

处理嵌套JSON并提取Case Status到DataFrame

没问题,我来帮你搞定这个嵌套JSON的处理需求!下面是具体的实现步骤和代码,完全能得到你想要的结果:

完整代码示例

import json
import pandas as pd

# 你的嵌套JSON数据(如果是从文件读取,替换为下面的注释代码)
data = {
    "13638": {
        "Advocate Name": "BRET ALLEN",
        "No. of Cases": "2",
        "WP 15699/2019": {
            "Case Category": "SERVICE",
            "District": "HYDERABAD",
            "Filing Date": "23/07/2019",
            "Registration Date": "24/07/2019",
            "Listing Date": "26/08/2019",
            "Case Status": "PENDING"
        },
        "CRLP 804/2019": {
            "Case Category": "-",
            "District": "HYDERABAD",
            "Filing Date": "12/02/2019",
            "Registration Date": "12/02/2019",
            "Listing Date": "21/06/2019",
            "Case Status": "PENDING"
        }
    },
    "231": {
        "Advocate Name": "DAISY LEE",
        "No. of Cases": "28",
        "WP 1518/2019": {
            "Case Category": "NON-SERVICE",
            "District": "HYDERABAD",
            "Filing Date": "28/01/2019",
            "Registration Date": "28/01/2019",
            "Listing Date": "11/02/2019",
            "Case Status": "DISPOSEDClick here to see the Order"
        },
        "WP 2896/2019": {
            "Case Category": "NON-SERVICE",
            "District": "HYDERABAD",
            "Filing Date": "12/02/2019",
            "Registration Date": "13/02/2019",
            "Listing Date": "-",
            "Case Status": "PENDING"
        }
    }
}

# 如果从文件读取JSON,取消下面的注释
# with open('your_json_file.json', 'r') as f:
#     data = json.load(f)

# 收集所有Case Status值
case_status_list = []
for advocate_id, advocate_details in data.items():
    # 遍历律师的所有信息,跳过非案件字段
    for key, content in advocate_details.items():
        if key not in ["Advocate Name", "No. of Cases"]:
            # 安全提取Case Status,避免键不存在报错
            status = content.get("Case Status")
            if status:
                case_status_list.append(status)

# 转换为DataFrame
result_df = pd.DataFrame({"Case Status": case_status_list})

# 打印结果
print(result_df)

代码说明

  1. 导入依赖库:json用于加载JSON数据(从文件读取时需要),pandas用于生成DataFrame。
  2. 加载JSON数据:可以直接使用你提供的字典,也可以通过json.load()从本地文件读取。
  3. 遍历提取数据:
    • 外层循环遍历每个律师的ID(如"13638"、"231")及其对应的详细信息。
    • 内层循环过滤掉Advocate Name和No. of Cases这两个非案件字段,只处理具体的案件条目。
    • 用content.get("Case Status")安全提取案件状态,即使某个案件没有这个键也不会报错。
  4. 生成DataFrame:把收集到的所有状态值放到列表里,再转换成指定列名的DataFrame。

运行这段代码后,输出的DataFrame就会包含你期望的四个状态值:PENDING、PENDING、DISPOSEDClick here to see the Order、PENDING。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:08:26