Python Tabulate Dictionary,每个键包含两个值

时间:2017-02-14 20:48:23

标签: python dictionary

我正在使用Tabulate 0.7.7包来制作每个键有两个值的字典。

我有这个代码。

from tabulate import tabulate

d = {"Dave":("13", "Male") , "Sarah":("16", "Female")}

headers = ["Name", "Age", "Gender"]
print(tabulate(d.items(), headers = headers))

我希望制作下表 -

Name    Age    Gender
------  -----  ---------
Dave    13     Male
Sarah   16     Female

但是,代码如下表所示 -

Name    Age
------  ----------------
Dave    ('13', 'Male')
Sarah   ('16', 'Female')

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您将字典项展平,从(k,(v1,v2))(k,v1,v2),您可以获得正确的格式:

from tabulate import tabulate   ​
d = {"Dave":("13", "Male") , "Sarah":("16", "Female")}
​
headers = ["Name", "Age", "Gender"]
print(tabulate([(k,) + v for k,v in d.items()], headers = headers))  

Name      Age  Gender
------  -----  --------
Sarah      16  Female
Dave       13  Male

答案 1 :(得分:1)

我不确定根据输入数据d的结构是否可行。

重新格式化您的数据(见下文)将得到所需的结果。

d = {'Name': ['Dave', 'Sarah'], 'Age': [13, 16], 'Gender': ['Male', 'Female']