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

如何将Pandas DataFrame中JSON格式列拆分为多列并转为CSV?

解决方法

你不需要把整个DataFrame转成JSON再绕弯处理,直接解析Records列里的每个JSON字符串就可以,步骤如下:

1. 解析JSON列为多列DataFrame

先确保Records列的每行都是合法JSON字符串(你的示例数据符合要求),用json.loads解析每行内容,再转成结构化的DataFrame:

import pandas as pd
import json

# 模拟你的原始DataFrame
data = {
    "Records": [
        '{"ID":"1","ID_1":"40309","type":"type1"}',
        '{"ID":"2","ID_1":"40310","type":"type1"}',
        '{"ID":"3","ID_1":"40311","type":"type1"}'
    ]
}
df = pd.DataFrame(data)

# 解析Records列,展开为多列
df_parsed = df["Records"].apply(json.loads).apply(pd.Series)

执行后df_parsed就是你想要的结构:

ID   ID_1    type
0  1  40309  type1
1  2  40310  type1
2  3  40311  type1

如果原始DataFrame还有其他需要保留的列,用pd.concat合并即可:

df_final = pd.concat([df.drop("Records", axis=1), df_parsed], axis=1)

2. 保存为CSV文件

直接用Pandas的to_csv方法导出:

df_parsed.to_csv("H:\\df_final.csv", index=False)

为什么你的原有方法行不通?

你之前把整个DataFrame转成字典再dump,相当于把所有行的JSON字符串打包成了一个大的JSON值,反而人为增加了解析难度,完全没必要走这个弯路。直接针对Records列做逐行解析才是最高效的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 06:18:24