如何将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
相关产品推荐
相关产品推荐

