如何将pandas生成的嵌套字典转为单记录字典列表供Django使用
实现方案
完全可以实现,两种常用方案如下:
方案1:直接修改DataFrame的to_dict参数(最简便)
你当前拿到的嵌套字典是to_dict()方法默认使用orient='columns'参数的输出结果,只需修改参数即可直接生成你需要的格式:
# df 为你的原始pandas.DataFrame对象 target_data = df.to_dict(orient='records')
输出的target_data就是你要求的列表嵌套字典结构,每个字典对应原DataFrame的一行数据,可直接放入Django的context上下文变量中使用,模板中遍历该列表即可渲染所有景点信息。
方案2:基于现有嵌套字典遍历转换(无原始DataFrame时使用)
如果你已经丢失原始DataFrame,仅持有当前的按列分组嵌套字典,可以通过以下代码手动转换:
# raw_dict 为你当前持有的嵌套字典 row_total = len(next(iter(raw_dict.values()))) target_data = [] for idx in range(row_total): per_row = {col: raw_dict[col][idx] for col in raw_dict} target_data.append(per_row)
该方法得到的结果和方案1完全一致。
内容的提问来源于stack exchange,提问作者konrad8767
相关产品推荐
相关产品推荐

