如何更简便地将深层嵌套JSON扁平化并转换为Pandas DataFrame
你可以直接利用pd.json_normalize()自带的record_path和meta参数,一次完成嵌套结构的展开和元字段保留,无需多次拼接、删除中间列,代码更简洁高效:
import pandas as pd import json import codecs # 读取原始JSON数据 with codecs.open(infile, "r", "utf-8-sig") as f: raw_json = json.load(f) # 单步完成扁平化 df = pd.json_normalize( data=raw_json, record_path=["comments_v2", "data"], meta=[ ["comments_v2", "timestamp"], ["comments_v2", "title"] ] ) # 按需重命名列,对齐你之前的输出结构 df.rename(columns={ "comments_v2.timestamp": "timestamp", "comments_v2.title": "title" }, inplace=True)
运行后得到的DataFrame结构和你现有代码的输出完全一致,包含timestamp、title、comment.timestamp、comment.comment、comment.author等字段,若原数据存在comment.group也会自动保留。该方案相比多次调用concat、apply的写法逻辑更清晰,数据量大时性能表现更好。
内容的提问来源于stack exchange,提问作者alexwr8
相关产品推荐
相关产品推荐

