如何用Python编写一个字典到Excel

我在python中有下面的代表一个From – To Distance Matrix的字典。

graph = {'A':{'A':0,'B':6,'C':INF,'D':6,'E':7}, 'B':{'A':INF,'B':0,'C':5,'D':INF,'E':INF}, 'C':{'A':INF,'B':INF,'C':0,'D':9,'E':3}, 'D':{'A':INF,'B':INF,'C':9,'D':0,'E':7}, 'E':{'A':INF,'B':4,'C':INF,'D':INF,'E':0} } 

是否有可能输出这个matrix到Excel或一个CSV文件,使其具有以下格式? 我已经看过使用csv.writer和csv.DictWriter,但不能产生所需的输出。

在这里输入图像说明

您可以从该字典中创build一个pandas数据框,然后保存为CSV或Excel:

 import pandas as pd df = pd.DataFrame(graph).T # transpose to look just like the sheet above df.to_csv('file.csv') df.to_excel('file.xls') 

可能不是最简单的结果,但pandas会解决这个奇妙的(如果你正在做任何types的数据分析,我可以强烈推荐pandas!)。

您的数据已经以完美的格式引入数据框

 INF = 'INF' graph = {'A':{'A':0,'B':6,'C':INF,'D':6,'E':7}, 'B':{'A':INF,'B':0,'C':5,'D':INF,'E':INF}, 'C':{'A':INF,'B':INF,'C':0,'D':9,'E':3}, 'D':{'A':INF,'B':INF,'C':9,'D':0,'E':7}, 'E':{'A':INF,'B':4,'C':INF,'D':INF,'E':0} } import pandas as pd pd.DataFrame(graph).to_csv('OUTPUT.csv') 

OUTPUT.csv的内容 但你想要的输出是这个转置,所以:

 pd.DataFrame(graph).T.to_csv('OUTPUT.csv') 

其中T返回Dataframe的转置。