Home > Net >  Converting python dataframe to a particular JSON structute
Converting python dataframe to a particular JSON structute

Time:12-29

Hi i want to convert my dataframe to a specific json structure. my dataframe look something like this :

df = pd.DataFrame([["file1", "1.2.3.4.5.6.7.8.9", 91, "RMLO"], ["file2", "1.2.3.4.5.6.7.8.9", 92, "LMLO"], ["file3", "1.2.3.4.5.6.7.8.9", 93, "LCC"], ["file4", "1.2.3.4.5.6.7.8.9", 94, "RCC"]], columns=["Filename", "StudyID", "probablity", "finding_name"])

And the json structure in which i want to convert my datafram is below :

{
            "findings": [
                            {
                                "name": "RMLO",
                                "probability": "91"
                            },
                            {
                                "name": "LMLO",
                                "probability": "92"
                            },
                            {
                                "name": "LCC",
                                "probability": "93"
                            }
                            {
                                "name": "LCC93",
                                "probability" : "94"
                            }
                        ],
            "status": "Processed",
            "study_id": "1.2.3.4.5.6.7.8.9.0"
        }

i tried implementing this with below code with different orient variables but i didn't get what i wanted.

j = df[["probablity","findings"]].to_json(orient='records')

so if any can help in achiveing this..

Thanks.

CodePudding user response:

Is this similar to what you are trying to achieve:

import json
j = df[["finding_name","probablity"]].to_json(orient='records')
study_id = df["StudyID"][0]
j_dict = {"findings": json.loads(j), "status": "Processed", "study_id": study_id}
j_dict

This results in:

{'findings': [{'finding_name': 'RMLO', 'probablity': 91},
  {'finding_name': 'LMLO', 'probablity': 92},
  {'finding_name': 'LCC', 'probablity': 93},
  {'finding_name': 'RCC', 'probablity': 94}],
 'status': 'Processed',
 'study_id': '1.2.3.4.5.6.7.8.9'}
  • Related