Python - 漂亮的打印数字

  • 简述

    Python模块pprint用于为 python 中的各种数据对象提供正确的打印格式。这些数据对象可以表示字典数据类型,甚至可以表示包含 JSON 数据的数据对象。在下面的示例中,我们看到了应用 pprint 模块之前和应用之后数据的外观。
    
    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)
    
    当我们运行上述程序时,我们得到以下输出 -
    
    {'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'}
    
  • 处理 JSON 数据

    Pprint 还可以通过将 JSON 数据格式化为更易读的格式来处理它们。
    
    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
       
    
    当我们运行上述程序时,我们得到以下输出 -
    
    { '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']}