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

如何将Pandas中JSON字典格式的字符串列解析为独立新列?

解决JSON字符串列解析为多列的问题

你的问题核心在于存储的字符串是单引号格式的伪JSON,而标准JSON要求双引号,直接用json_normalize或tolist无法识别。下面是具体的解决步骤:

步骤1:清洗并解析字符串

先把单引号替换为双引号,再用json.loads转成Python可识别的列表/字典结构:

import pandas as pd
import json

def parse_user_inputs(input_str):
    try:
        # 替换单引号为双引号,适配JSON标准格式
        cleaned_str = input_str.replace("'", '"')
        # 解析为Python列表
        input_data = json.loads(cleaned_str)
        # 返回列表中的第一个字典(你的示例里每个单元格都是单元素列表)
        return input_data[0] if input_data else {}
    except Exception as e:
        # 处理解析失败的情况,返回空字典避免中断
        print(f"解析错误: {e}")
        return {}

步骤2:解析为多列并合并

将解析后的字典序列规范化为DataFrame,再和原数据合并:

# 假设你的数据集叫df,对userInputs列应用解析函数
parsed_series = df['userInputs'].apply(parse_user_inputs)

# 将字典序列展开为多列
normalized_df = pd.json_normalize(parsed_series)

# 合并原数据与新列(删除原userInputs列)
final_df = pd.concat([df.drop('userInputs', axis=1), normalized_df], axis=1)

效果说明

运行后,final_df会新增userID、milesRequested、WhPerMile等列,对应的值会自动填充到每一行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:01:29