如何在不展开嵌套内容的情况下将JSON数据读取为Pandas DataFrame
保留嵌套列的Pandas DataFrame构造方法
要让嵌套的d列不被自动展开,你可以先把JSON转成Python字典,手动将d字段转为JSON字符串后再构造DataFrame,具体操作如下:
- 导入所需库:
import pandas as pd import json
- 定义你的JSON数据(如果是从文件读取,用
json.load(open("你的文件路径.json"))加载即可):
raw_data = { "a": "x", "b": "y", "c": "z", "d": { "d1": "1234", "d2": "Team E", "d3": "Team D" } }
- 将嵌套的
d字段转为JSON字符串:
raw_data["d"] = json.dumps(raw_data["d"])
- 生成目标DataFrame:
df = pd.DataFrame([raw_data])
运行后得到的DataFrame与你预期的一致:
a b c d 0 x y z {"d1": "1234", "d2": "Team E", "d3": "Team D"}
直接用pd.DataFrame.from_dict()或pd.read_json()时,Pandas会自动解析嵌套字典为多列,所以手动处理d字段是最直接的解决方式。
内容的提问来源于stack exchange,提问作者RustyShackleford
相关产品推荐
相关产品推荐

