用于嵌套字典的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
到目前为止,您尝试了什么?实现这一点的问题是什么?您是尝试以该格式打印响应,还是转换为某种表格数据类型。如果是第二种选择,哪一种?