如何在pandas导出的JSON外层添加一级results对象
解决方案
首先修正你原有代码中orient参数的拼写错误,正确的记录模式参数值为复数形式records。你只需要先将DataFrame转换为字典格式的记录列表,再封装到携带results键的外层字典中,最后序列化即可,参考实现如下:
import json # 统一列名为小写,匹配你预期输出的键名格式 df.columns = df.columns.str.lower() # 转换为记录列表 records = df.reset_index().to_dict(orient='records') # 封装外层结构 output_data = {"results": records} # 序列化为JSON字符串,indent=2用于格式化输出,无需格式化可删除该参数 json_output = json.dumps(output_data, indent=2)
如果不想额外引入json模块,也可以直接用pandas方法实现:
df.columns = df.columns.str.lower() json_output = pd.Series({ "results": df.reset_index().to_dict(orient='records') }).to_json(indent=2)
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

