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

如何将嵌套列表字典结构转换为Pandas DataFrame?

问题描述

我有一个数据集,格式为列表,每个元素是包含字典列表的JSON字符串:

['[{"date_update":"31-03-2022","diemquatrinh":"6.0"}]',  
 '[{"date_update":"28-04-2022","diemquatrinh":"6.5"}]', 
 '[{"date_update":"25-12-2021","diemquatrinh":"6.0"}, {"date_update":"28-04-2022","diemquatrinh":"6.25"},{"date_update":"28-07-2022","diemquatrinh":"6.5"}]',
 '[{"date_update":null,"diemquatrinh":null}]']

需要将其转换为包含updated_at和diemquatrinh两列的DataFrame,示例格式如下:

updated_atdiemquatrinh
11-03-20226.25
25-12-20216.0
28-04-20226.25
28-07-20226.5
nullnull
解决方案

使用Python的pandas和json库即可实现,步骤如下:

  1. 遍历列表中的每个JSON字符串,解析为字典列表
  2. 合并所有字典列表为一个大列表
  3. 转换为DataFrame并重命名列名

代码实现

import pandas as pd
import json

# 原始数据集
data = [
    '[{"date_update":"31-03-2022","diemquatrinh":"6.0"}]',
    '[{"date_update":"28-04-2022","diemquatrinh":"6.5"}]',
    '[{"date_update":"25-12-2021","diemquatrinh":"6.0"}, {"date_update":"28-04-2022","diemquatrinh":"6.25"},{"date_update":"28-07-2022","diemquatrinh":"6.5"}]',
    '[{"date_update":null,"diemquatrinh":null}]'
]

# 解析所有JSON字符串并合并数据
all_records = []
for json_str in data:
    records = json.loads(json_str)
    all_records.extend(records)

# 转换为DataFrame并重命名列
df = pd.DataFrame(all_records).rename(columns={"date_update": "updated_at"})

# 可选:将diemquatrinh转换为数值类型(如需保留null字符串可删除此行)
df['diemquatrinh'] = pd.to_numeric(df['diemquatrinh'], errors='coerce')

print(df)

输出结果

执行代码后得到的DataFrame如下:

updated_atdiemquatrinh
31-03-20226.00
28-04-20226.50
25-12-20216.00
28-04-20226.25
28-07-20226.50
nullNaN

内容的提问来源于stack exchange,提问作者Phạm Tấn Thành

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:25:23