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

如何将含缺失列与空值的JSON转换为Pandas DataFrame?

处理含缺失列的JSON数据生成Pandas DataFrame

问题场景

给定如下结构的JSON数据:

f = {'results':
              [{'tables':
                        [{'rows': [{'column1': 'dog', 'column2': 'blue', 'column3': 'sad'},
                                  { 'column2': 'red', 'column3': 'happy'},
                                  {'column1': 'bird', 'column2': 'green'}]
      }]}]} 

需要将其转换为自动补全缺失列的Pandas DataFrame,最终输出格式如下:

column1     column2     column3
        dog         blue        sad
                    red        happy
        bird        green        

可行方案

Pandas原生支持处理这种含缺失键的字典列表,直接提取目标数据后传入DataFrame构造函数即可自动补全缺失列,步骤如下:

完整代码示例

import pandas as pd

# 目标JSON数据
f = {'results':
              [{'tables':
                        [{'rows': [{'column1': 'dog', 'column2': 'blue', 'column3': 'sad'},
                                  { 'column2': 'red', 'column3': 'happy'},
                                  {'column1': 'bird', 'column2': 'green'}]
      }]}]} 

# 从嵌套结构中提取rows数据
rows = f['results'][0]['tables'][0]['rows']

# 生成DataFrame,自动补全缺失列
df = pd.DataFrame(rows)

# 可选:将NaN替换为空白字符串,让显示更符合预期
df = df.fillna('')

# 打印无索引的结果
print(df.to_string(index=False))

关键说明

  • pd.DataFrame(rows)会自动扫描所有字典的键,生成包含所有出现过列名的DataFrame,缺失对应列的行会填充NaN。
  • 使用fillna('')可以将默认的NaN替换为空白,和期望的显示格式一致。
  • to_string(index=False)用于隐藏默认的行索引,输出更贴合需求格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:26:03