如何在Python中交叉引用两个字典。 所以他们可以打印一个不错的excel表格

所以我现在有这样的字典设置:

Dict = {'customer1': {datetime.datetime(2017, 6, 15, 14, 34, 55): '12', datetime.datetime(2017, 6, 16, 14, 34, 55): '14'}, 'customer2': {datetime.datetime(2017, 6, 16, 14, 34, 55): '16', datetime.datetime(2017, 6, 17, 14, 34, 55): '18'}} 

我想打印的是这样的:

 --------- 15/06/2017 16/06/2017 17/06/2017 customer1 12 14 -- customer2 16 18 

我想过创造另一个温度。 字典。 先按datesorting,然后按顾客名称sorting,然后交叉引用这两个清单。 我确实设法创造另一个字典。 看起来像这样:

 tempDict = {datetime.datetime(2017, 6, 15, 14, 34, 55): {'customer1': '12'}, datetime.datetime(2017, 6, 16, 14, 34, 55): {'customer1': '14', 'customer2': '16'}, datetime.datetime(2017, 6, 17, 14, 34, 55): {'customer2': '18'} 

但我无法弄清楚如何交叉引用这些列表。 一般来说,编程还是很新的。 有没有办法更有效地做到这一点? 我怎么能用这个方法进步? 我目前卡住了。

 def excelLikeTable(): tempDict = {} for x in dict.keys(): for y, z in dict[x].items(): emptyDict[y] = {} emptyDict[y][x] = z print('') return 

有一个名为pandas的Python库,它有一些工具可以对(2d)表进行适当的格式化,而不是自己做格式化。

你可以安装pandas

 pip install pandas 

(或另一个pippipe理软件包)。 那么你可以像这样使用它:

 import pandas as pd df = pd.DataFrame(Dict).T 

现在df是一个dataframe 。 如果你print它,你会得到:

 >>> print(df) 2017-06-15 14:34:55 2017-06-16 14:34:55 2017-06-17 14:34:55 customer1 12 14 NaN customer2 NaN 16 18 

这是或多或less你想要我猜。