Python prints numbers neatly

Nice Printing of Numbers in Python

The Python module pprint provides appropriate printing formatting for various data objects in Python. These data objects can represent dictionaries or even objects containing JSON data. In the following example, we can see what the data looks like before and after applying the pprint module.

import pprint

student_dict = {'Name': 'Tusar', 'Class': 'XII',
'Address': {'FLAT ': 1308, 'BLOCK ': 'A', 'LANE ': 2, 'CITY ': 'HYD'}}

print student_dict
print "n"
print "***With Pretty Print***"
print "-----------------------"
pprint.pprint(student_dict,width=-1)

When we run the above program, we get the following output –

{'Address': {'FLAT ': 1308, 'LANE ': 2, 'CITY ': 'HYD', 'BLOCK ': 'A'}, 'Name': 'Tusar', 'Class': 'XII'}

***With Pretty Print***
-----------------------
{'Address': {'BLOCK': 'A',
'CITY': 'HYD',
'FLAT': 1308,
'LANE': 2},
'Class': 'XII',
'Name': 'Tusar'}

Processing JSON Data

Pprint can also process JSON data by formatting it into a more readable format.

import pprint

emp = {"Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ],
   "Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ],
   "StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013",
      "7/30/2013","6/17/2014"],
   "Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"] }

x = pprint.pformat(emp, indent=2)
print x

When we run the above program, we get the following output –

{ 'Dept': [ 'IT',
'Operations',
'IT',
'HR',
'Finance',
'IT',
'Operations',
'Finance'],
'Name': ['Rick', 'Dan', 'Michelle', 'Ryan', 'Gary', 'Nina', 'Simon', 'Guru'],
'Salary': [ '623.3',
'515.2',
              '611',
              '729',
              '843.25',
              '578',
              '632.8',
              '722.5'],
  'StartDate': [ '1/1/2012',
                 '9/23/2013',
                 '11/15/2014',
                 '5/11/2014',
                 '3/27/2015',
                 '5/21/2013',
                 '7/30/2013',
                 '6/17/2014']}

Leave a Reply

Your email address will not be published. Required fields are marked *