How to print out nicely formatted tables from a dictionary in python

Viewed 40

response.text:

{"isRegistered":true,"name":"john","message":"ID is registered and valid"} 72
{"isRegistered":true,"name":"frank","message":"ID is registered and valid"} 73
{"isUpiRegistered":true,"name":"mingo","message":"ID is registered and valid"} 74
{"isUpiRegistered":true,"name":"gimp","message":"ID is registered and valid"} 75

I want output in this format:

Name              Message                code

john              Id is registered        72
frank             Id is registered        73
mingo             Id is registered        74
gimp              Id is registered        75
1 Answers

You just need to write a simple parser.

In [1]: import json
In [2]: print(f"name \t Message \t\t code")
    ...: for i in txt.split('\n'):
    ...:     data = i.split('}')
    ...:     d = json.loads(data[0] + '}')
    ...:     num = int(data[1].strip())
    ...:     print(f"{d['name']} \t {d['message'].split('and')[0]} \t {num}")
    ...: 
name     Message         code
john     ID is registered    72
frank    ID is registered    73
mingo    ID is registered    74
gimp     ID is registered    75
Related