用于嵌套字典的Python表格

用于嵌套字典的Python表格,python,python-3.x,Python,Python 3.x,我有一本嵌套字典: d={“汤姆”:{“学校名称1”:“学校名称1”,“班级名称1”:“班级名称1”,“教师1”:“教师名称1”,杰瑞:{“学校名称2”:“学校名称2”,“班级名称2”:“班级名称2”,“教师2”:“教师名称2”} 标题=[“姓名”、“学校”、“班级”、“教师”] 通过使用Python“制表”,我希望实现: Name School Class Teacher -------- ------------- -----------

我有一本嵌套字典:

d={“汤姆”:{“学校名称1”:“学校名称1”,“班级名称1”:“班级名称1”,“教师1”:“教师名称1”,杰瑞:{“学校名称2”:“学校名称2”,“班级名称2”:“班级名称2”,“教师2”:“教师名称2”}
标题=[“姓名”、“学校”、“班级”、“教师”]
通过使用Python“制表”,我希望实现:

Name         School         Class         Teacher
--------  -------------  -----------    ------------
Tom       school_name_1   class_name_1  teachers_name1
Jerry     school_name_2   class_name_2  teachers_name2

您的问题似乎涉及到
制表所需的任何数据结构。似乎更容易的是,数据是一个2D值列表

使用
列表理解
并展平每个内部dict的值,这非常简单:

from tabulate import tabulate

headers = ["Name", "School", "Class", "Teacher"]
values = {"Tom": {"SchoolName1": "school_name_1", "Classname1": "class_name_1", "teacher1": "teachers_name1"},
          "Jerry": {"SchoolName2": "school_name_2", "Classname2": "class_name_2", "teacher2": "teachers_name2"}}

values = [[name, *inner.values()] for name, inner in values.items()]

print(tabulate(values, headers=headers))
给出预期的结果

Name    School         Class         Teacher
------  -------------  ------------  --------------
Tom     school_name_1  class_name_1  teachers_name1
Jerry   school_name_2  class_name_2  teachers_name2

到目前为止,您尝试了什么?实现这一点的问题是什么?您是尝试以该格式打印响应,还是转换为某种表格数据类型。如果是第二种选择,哪一种?