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

如何提取pandas DataFrame中JSON格式列内的name字段值

解决方法

你之前用字符串截取的方式不可靠:lstrip/rstrip是按单个字符匹配删除,不是匹配固定字符串后缀/前缀,很容易出现截断错误,不适合处理JSON格式数据。

最优方案是先把JSON字符串转为Python字典,再直接取name字段的值,实现代码如下:

基础实现(无异常兼容)

首先导入依赖库:

import pandas as pd
import ast

处理数据并生成目标DataFrame:

# 把JSON字符串转为字典后提取name字段,重命名为code
df['code'] = df['details'].apply(lambda x: ast.literal_eval(x)['name'])
# 仅保留code列
df_res = df[['code']]

兼容异常版本(适配格式错误的行)

如果部分行的JSON格式可能不合法,可以加异常处理避免程序报错:

def extract_name(json_str):
    try:
        json_dict = ast.literal_eval(json_str)
        return json_dict.get('name', '') # 字段不存在时返回空字符串
    except:
        return '' # 格式错误时返回空字符串

df['code'] = df['details'].apply(extract_name)
df_res = df[['code']]

输出结果

最终得到的df_res格式如下:

code
0  abc123
1  abc456

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:18:02