为了账号安全,请及时绑定邮箱和手机立即绑定

我如何将输出变成表格?

我如何将输出变成表格?

九州编程 2022-06-28 15:40:46
我希望输出是表格。没有大括号和双引号。我能得到一些帮助吗?我正在使用 python 3.7.5students = [   { "grade": 5,    "firstname": "Brendon",     "lastname": "Urie",     "gender": "M"     },  {     "grade": 7,    "firstname": "Freddy",    "lastname": "Mercury",    "gender": "M"   },  {     "grade": 12,    "firstname": "Tessa",    "lastname": "Thompson"  }]output("list", students, None)
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

您可以使用 pandas 将其打印为数据框。


import pandas as pd


students = [ 

    { 

        "grade":5,

        "firstname":"Brendon",

        "lastname":"Urie",

        "gender":"M"

    },

    { 

        "grade":7,

        "firstname":"Freddy",

        "lastname":"Mercury",

        "gender":"M"

    },

    { 

        "grade":12,

        "firstname":"Tessa",

        "lastname":"Thompson"

    }

]


df = pd.DataFrame(students)

df

结果是:


    firstname   gender  grade   lastname

0   Brendon M   5   Urie

1   Freddy  M   7   Mercury

2   Tessa   NaN 12  Thompson


查看完整回答
反对 回复 2022-06-28
?
MYYA

TA贡献1868条经验 获得超4个赞

您可以使用表格将字典漂亮地打印为表格


from tabulate import tabulate


def dict_to_list(lst):

  """ Converts students to list of the form 

[[5, 'Brendon', 'Urie', 'M'], [7, 'Freddy', 'Mercury', 'M'], ...] """

  return [[v for v in d.values()] for d in lst]


students = [ 

  { "grade": 5,

    "firstname": "Brendon", 

    "lastname": "Urie", 

    "gender": "M" 

    },

  { 

    "grade": 7,

    "firstname": "Freddy",

    "lastname": "Mercury",

    "gender": "M" 

  },

  { 

    "grade": 12,

    "firstname": "Tessa",

    "lastname": "Thompson"

  }

]


# tabulate takes as input: list of lists, and header

# list of list = dict_to_list(students)

# header = students[0].keys()

print (tabulate(dict_to_list(students), students[0].keys()))

输出(列对齐的漂亮格式)


 grade  firstname    lastname    gender

-------  -----------  ----------  --------

      5  Brendon      Urie        M

      7  Freddy       Mercury     M

     12  Tessa        Thompson


查看完整回答
反对 回复 2022-06-28
?
POPMUISE

TA贡献1765条经验 获得超5个赞

如果您的意思是终端表terminaltables正是您所需要的:

https://robpol86.github.io/terminaltables/


查看完整回答
反对 回复 2022-06-28
  • 3 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信