首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为datafarme创建嵌套和自定义json格式

如何为datafarme创建嵌套和自定义json格式
EN

Stack Overflow用户
提问于 2022-10-11 13:19:51
回答 1查看 13关注 0票数 0

我希望从现有的数据帧数据框架列中创建子类别(示例表),我在列级别上所需的更改,而不是像一组列一样的数据中的任何更改,都是和列名称一样的,3个不同的后缀(很少有类似的列名和其他列名),例如

|payer_id|payer_name|halo_payer_name|delta_payer_name|halo_desc|delta_desc|halo_operations|delta_notes|halo_processed_data|delta_processed_data|extra|insurance_company|

我希望它被分组在这个光环组halo_payer_name|halo_desc|halo_operations|halo_processed_data|中

我希望它被分组在这个增量组delta_payer_name|delta_desc|delta_notes|delta_processed_data|中

和其余的列作为一个组,所以当转换为JSON时,它将出现在下面的布局中

代码语言:javascript
复制
{
    "schema": {
        "fields": [{
                "payer_details": [{
                        "name": "payer_id",
                        "type": "string"
                    },
                    {
                        "name": "payer_name",
                        "type": "string"
                    },
                    {
                        "name": "extra",
                        "type": "string"
                    },
                    {
                        "name": "insurance_company",
                        "type": "string"
                    }
                ]
            },
            {
                "halo": [{
                        "name": "halo_payer_name",
                        "type": "string"
                    },
                    {
                        "name": "halo_desc",
                        "type": "string"
                    },
                    {
                        "name": "halo_operstions",
                        "type": "string"
                    },
                    {
                        "name": "halo_processed_data",
                        "type": "string"
                    }
                ]
            }, {
                "delta": [{
                        "name": "delta_payer_name",
                        "type": "string"
                    },
                    {
                        "name": "delta_desc",
                        "type": "string"
                    },
                    {
                        "name": "delta_notes",
                        "type": "string"
                    },
                    {
                        "name": "delta_processed_data",
                        "type": "string"
                    }
                ]
            }
        ],
        "pandas_version": "1.4.0"
    },
    "masterdata": [{
        "payer_details": [{
            "payer_id": "",
            "payer_name": "",
            "extra": "",
            "insurance_company": ""
        }],
        "halo": [{
            "halo_payer_name": "",
            "halo_desc": "",
            "halo_operations": "",
            "halo_processed_data": "",
                    }],
        "delta":[{
            "delta_payer_name": "",
            "delta_desc": "",
            "delta_notes": "",
            "delta_processed_data": "",
                    }]
    }]
}

对于这种情况,我找不到解决方案,因为它是基于列的分组,而不是基于数据的分组

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-13 07:35:25

所以今天看到这篇文章,它帮助我解决了我的问题(从数据框架中添加数据,并使用它创建循环数据并将其插入到dict中,然后将其转换为JSON文件),对我有帮助的参考是link,所以这个问题的解决方案如下

代码语言:javascript
复制
schema={
    "schema": {
        "fields": [{
                "payer_details": [{
                        "name": "payer_id",
                        "type": "string"
                    },
                    {
                        "name": "payer_name",
                        "type": "string"
                    },
                    {
                        "name": "extra",
                        "type": "string"
                    },
                    {
                        "name": "insurance_company",
                        "type": "string"
                    }
                ]
            },
            {
                "halo": [{
                        "name": "halo_payer_name",
                        "type": "string"
                    },
                    {
                        "name": "halo_desc",
                        "type": "string"
                    },
                    {
                        "name": "halo_operstions",
                        "type": "string"
                    },
                    {
                        "name": "halo_processed_data",
                        "type": "string"
                    }
                ]
            }, {
                "delta": [{
                        "name": "delta_payer_name",
                        "type": "string"
                    },
                    {
                        "name": "delta_desc",
                        "type": "string"
                    },
                    {
                        "name": "delta_notes",
                        "type": "string"
                    },
                    {
                        "name": "delta_processed_data",
                        "type": "string"
                    }
                ]
            }
        ],
        "pandas_version": "1.4.0"
    },
    "masterdata": []
}

按我所希望的方式导出上述架构。

代码语言:javascript
复制
payer_list=[]
for i in df.index:
  case={
        "payer_details": [{
            "payer_id": "{}".format(df['payer_id'][i]),
            "payer_name": "{}".format(df['payer_name'][i]),
            "extra": "{}".format(df['extra'][i]),
            "insurance_company": "{}".format(df['insurance_company'][i])
        }],
        "halo": [{
            "halo_payer_name": "{}".format(df['halo_payer_name'][i]),
            "halo_desc": "{}".format(df['halo_desc'][i]),
            "halo_operations": "{}".format(df['halo_operations'][i]),
            "halo_processed_data": "{}".format(df['halo_processed_data'][i]),
                    }],
        "delta":[{
            "delta_payer_name": "{}".format(df['delta_payer_name'][i]),
            "delta_desc": "{}".format(df['delta_desc'][i]),
            "delta_notes": "{}".format(df['delta_notes'][i]),
            "delta_processed_data": "{}".format(df['delta_processed_data'][i]),
                    }]
    }
  payer_list.append(case)
schema["masterdata"] = payer_list

创建和空列表并运行循环,并包含在空列表中,并连接或链接到架构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74028822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档