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

Python中如何拆分包含引号和逗号的DataFrame单列数据

解决方案

你列中存储的是字符串格式的Python字典结构,直接切片、替换引号的方式容错率极低,用以下方法可直接完成拆分:

  • 核心思路是先把字符串转成真实的字典对象,再直接展开为独立列,不需要手动处理引号或截取位置,ast.literal_eval可以直接兼容Python风格的单引号字典字符串,不需要转成JSON格式,适配性更高
  • 如果存在部分格式异常的行,可以加异常判断处理坏数据,避免整体报错

完整实现代码

首先导入依赖库:

import pandas as pd
import ast

假设你的原始DataFrame名称为df,存储字典字符串的列名为raw_col,处理代码如下:

# 解析字符串为字典列,加异常捕获兼容坏数据
def safe_parse(s):
    try:
        return ast.literal_eval(s)
    except:
        # 格式异常的行返回空字典,可根据需求修改默认值
        return {}

df['dict_col'] = df['raw_col'].apply(safe_parse)

# 展开字典为独立列,合并回原DataFrame
df = pd.concat([df, pd.DataFrame(df['dict_col'].tolist())], axis=1)

# 可选:删除原始列和中间生成的字典列
df = df.drop(['raw_col', 'dict_col'], axis=1)

处理完成后,你原字符串里的displayName、locationIdentifier、normalisedSearchTerm都会变成独立的列。

原方法失败原因说明

  • 切片拆分失败不是因为引号,是因为不同行的字段值长度不固定,固定截取位置会出现错位
  • 替换引号未生效大概率是存在未识别的转义字符、隐形字符,或者混淆了单双引号的处理逻辑,用ast解析不需要手动处理这类格式问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:30:01