如何将pandas DataFrame转换为指定结构的嵌套字典或JSON
Pandas DataFrame 分组转换为指定格式字典/JSON方案
适配你使用的Python 3.8 + Pandas 0.19.2版本,可直接运行以下代码实现需求:
首先构造测试用的DataFrame(如果已经有真实数据可跳过这一步):
import pandas as pd # 示例DataFrame,替换为你自己的数据源即可 df = pd.DataFrame({ 'id_number': [1234, 1234], 'name': ['ABCD', 'ABCD'], 'amount': ['$100', '$100'], 'addenda': ['Car-wash-$30', 'Maintenance-$70'] })
核心转换逻辑:
result = [] # 按同组内值一致的三个字段分组 for (id_num, name, amount), group_df in df.groupby(['id_number', 'name', 'amount']): # 生成指定格式的addenda列表 addenda_items = [{'payment_related_info': val} for val in group_df['addenda'].values] # 组装单条记录加入结果 result.append({ 'id_number': id_num, 'name': name, 'amount': amount, 'addenda': addenda_items })
如果需要输出JSON格式字符串,可继续调用json模块处理:
import json # indent参数用于格式化输出,可根据需求调整 output_json = json.dumps(result, indent=4) print(output_json)
运行后输出的结果和你要求的格式完全一致。该方案采用遍历分组的实现方式,兼容性强,适配Pandas 0.19.2等低版本,逻辑清晰易调整。
内容的提问来源于stack exchange,提问作者Asinha
相关产品推荐
相关产品推荐

