2017-05-21 64 views
-1

我想保存一個字典文件來優秀(我試過使用xlsxwriter)。 實施例:字典裏面的字典出口excel

 {'Mod1': {'A': 0.029999999999999999, 
     'B': 0.050000000000000003, 'C': 
     0.14000000000000001}, 'Mod2':{'A2': ....}} 

我正在MOD1上第一列(在Excel中),那麼「A」,但不是分數。 我的代碼如下,我想我必須添加一個for循環,但我不知道如何。

row = 0 
col = 0 
score = 0 
for key in ranks.keys(): 
    row += 1 
    worksheet.write(row, col, key) 
    for item in ranks[key]: 
     worksheet.write(row, col + 1, item) 
     row += 1 

任何想法?謝謝!

+0

我不明白你想要的excel文件的數據結構。你能舉一個例子嗎? –

回答

1

下面是一個基於您正在尋找的輸出結構的最佳猜測的小型工作示例。如果它不完全匹配,它應該很容易改變。這是一個比一個XlsxWriter問題的詳細的數據結構問題:

import xlsxwriter 

workbook = xlsxwriter.Workbook('test.xlsx') 
worksheet = workbook.add_worksheet() 

row = 0 
col = 0 

ranks = {'Mod1': {'A': 0.029999999999999999, 
        'B': 0.050000000000000003, 
        'C': 0.14000000000000001}, 
     'Mod2': {'A': 1.029999999999999999, 
        'B': 1.050000000000000003, 
        'C': 1.14000000000000001}} 

for model in ranks.keys(): 
    worksheet.write(row, col, model) 
    row += 1 

    for key, value in ranks[model].items(): 
     worksheet.write(row, col + 1, key) 
     worksheet.write(row, col + 2, value) 
     row += 1 

workbook.close() 

輸出:

enter image description here

對於分類A .. C類別,你可以像這樣的東西代替內環:

for category in sorted(ranks[model].keys()): 
     worksheet.write(row, col + 1, category) 
     worksheet.write(row, col + 2, ranks[model][category]) 
     row += 1 
+0

清除答案謝謝!它幫助! – hdatas