Jean
Jean

Reputation: 463

How to convert JSON into a table using python?

HI I'm a beginner with python. I have a csv file which I retrieve from my database. The table has several columns, one of which contains data in json. I have difficulty converting json data into a table to be saved in pdf. First I load the csv. Then I take the column that has the data in json and I convert them.

df = pd.DataFrame(pd.read_csv('database.csv',sep=';'))
print(df.head())

for index, row in df.iterrows():

    str = row["json_data"]
    val = ast.literal_eval(str)
    val1 = json.loads(str)

A sample of my json is that

{
    "title0": {
        "id": "1",
                 "ex": "90",
    },
    "title1": {
        "name": "Alex",
        "surname": "Boris",
        "code": "RBAMRA4",

    },
    "title2": {
        "company": "LA",
        "state": "USA",
        "example": "9090",

    }
}

I'm trying to create a table like this


-------------------------------------------\
title0
--------------------------------------------\
id 1
ex 90
---------------------------------------------\
title 1
---------------------------------------------\
name Alex
surname Boris
code RBAMRA4
----------------------------------------------\
title2
----------------------------------------------\
company LA
state USA
example 9090

Upvotes: 1

Views: 6701

Answers (1)

Vignesh SP
Vignesh SP

Reputation: 446

You can use the Python JSON library to achieve this.

import json

my_str = open("outfile").read()
val1 = json.loads(my_str)

for key in val1:
    print("--------------------\n"+key+"\n--------------------")
    for k in val1[key]:
        print(k, val1[key][k])

Load the JSON data into the json.jsonloads function, this will deserialize the string and convert it to a python object (the whole object becomes a dict).

Then you loop through the dict the way you want.

--------------------
title0
--------------------
id 1
ex 90
--------------------
title1
--------------------
name Alex
surname Boris
code RBAMRA4
--------------------
title2
--------------------
company LA
state USA
example 9090

Read about parsing a dict, then you will understand the for loop.

Upvotes: 1

Related Questions