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

如何使用Pandas读取JSON文件并转换为含多行列的DataFrame

使用Pandas读取嵌套JSON并转换为结构化DataFrame

步骤1:导入所需库

import pandas as pd
import json

步骤2:读取JSON文件

假设你的JSON文件名为cibil_data.json,先加载文件内容:

with open('cibil_data.json', 'r', encoding='utf-8') as f:
    raw_data = json.load(f)

步骤3:提取公共关联字段

提取外层元数据和嵌套的非数组信息(评分、办公状态等),这些字段对所有账户/查询记录都是通用的:

# 外层基础字段
common_data = {
    '_id': raw_data['_id'],
    'userId': raw_data['userId'],
    'tenantId': raw_data['tenantId'],
    'createDate': raw_data['createDate'],
    'type': raw_data['type'],
    'isOutputValid': raw_data['isOutputValid'],
    'bureauStatus': raw_data['data']['bureauStatus']
}

# 合并信用评分信息
common_data.update(raw_data['data']['scoreInfo'])

# 合并办公信息(取数组第一个元素)
common_data.update(raw_data['data']['officeInfo'][0])

步骤4:转换账户信息为结构化DataFrame

将嵌套的accountInfo数组转为DataFrame,并为每一行添加上一步提取的公共字段:

# 生成账户信息DataFrame
account_df = pd.DataFrame(raw_data['data']['accountInfo'])

# 为所有账户行添加公共字段
for field, value in common_data.items():
    account_df[field] = value

# 调整列顺序(可选,让公共字段排在前面)
column_order = list(common_data.keys()) + [col for col in account_df.columns if col not in common_data.keys()]
account_df = account_df[column_order]

扩展:转换查询信息为DataFrame

如果需要处理enquiryInfo,方法类似:

enquiry_df = pd.DataFrame(raw_data['data']['enquiryInfo'])
for field, value in common_data.items():
    enquiry_df[field] = value

最终生成的account_df就是包含多列多行的结构化表格,每行对应一个账户记录,同时关联了所有基础元数据、信用评分和办公信息,与目标效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:47:54