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

如何将转义JSON格式技能数据转换为Pandas DataFrame列?

解决转义JSON字符串转Pandas DataFrame的问题

嘿,我之前也碰到过类似的转义JSON转DataFrame的麻烦,给你一套亲测有效的解决方案,一步步来:

核心思路

转义的JSON字符串本质是被转义包裹的合法JSON,我们需要先把每条转义字符串解析成Python字典,再把字典列表直接喂给Pandas生成DataFrame。

具体步骤

1. 导入依赖库

首先确保你安装了pandas(json是Python标准库,无需额外安装):

import json
import pandas as pd

2. 处理示例输入

假设你的4条转义JSON记录是这样的(如果是从日志/API获取的带\转义符的字符串,比如"{\"Paradigms\":...}",json.loads也能自动处理):

# 示例转义JSON记录列表
escaped_json_records = [
    '{"Paradigms": "Object-Oriented", "Platforms": "Windows, Linux", "Storage": "SQLite", "Languages": "Python"}',
    '{"Paradigms": "Functional", "Platforms": "macOS, Cloud", "Storage": "PostgreSQL", "Languages": "Scala"}',
    '{"Paradigms": "Procedural", "Platforms": "Linux", "Storage": "MySQL", "Languages": "C"}',
    '{"Paradigms": "Declarative", "Platforms": "Cloud", "Storage": "MongoDB", "Languages": "JavaScript"}'
]

3. 解析转义JSON并生成DataFrame

用列表推导式批量解析所有记录,再直接生成DataFrame:

# 把每条转义JSON解析为Python字典
parsed_records = [json.loads(record) for record in escaped_json_records]

# 转换为Pandas DataFrame
skills_df = pd.DataFrame(parsed_records)

4. 预期输出

生成的DataFrame会自动把Paradigms、Platforms等键作为列,结果如下:

ParadigmsPlatformsStorageLanguages
Object-OrientedWindows, LinuxSQLitePython
FunctionalmacOS, CloudPostgreSQLScala
ProceduralLinuxMySQLC
DeclarativeCloudMongoDBJavaScript

处理特殊情况

如果部分记录存在缺失键(比如某条没有Storage字段),可以用fillna填充缺失值:

# 将缺失值填充为空字符串
skills_df = pd.DataFrame(parsed_records).fillna('')

如果你的转义JSON是从文本文件逐行读取的,代码可以改成这样:

# 从文件读取每行的转义JSON记录(跳过空行)
with open('skills_data.txt', 'r', encoding='utf-8') as f:
    escaped_json_records = [line.strip() for line in f if line.strip()]

parsed_records = [json.loads(record) for record in escaped_json_records]
skills_df = pd.DataFrame(parsed_records)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:32:35