2016-01-29 55 views
1

使用python3 我有一個超過100個鍵的字典。每個鍵的值都是一個列表。我想要做的是將字典的每個關鍵字寫入一個Excel文檔中,每個詞都有自己的單元格,全部放在同一行上。使用python3編寫帶有值列表的詞典

row = 0 
col = 0 

myDictionary = { 
    'car seat':['$10', '12', 'IT1'], 
    'piano':['$12', '2', 'IT1'], 
    'picture frame':['$2', '14', 'IT1'], 
    'shoes':['$20', '13', 'IT1'], 
    } 

for key in myDictionary.keys():: 
    Result = [str(key), myDictionary[key]] 
    worksheet.write_row(row, col, Result) 
    row += 1 

ExpectedOutput.xlsx(標題不包含):

KEY   /listvalue1/listvalue2/listvalue3 
car seat /$10  /12  /IT1 
piano  /$12  /2  /IT1 
picture frame/$2  /14  /IT1 
shoes  /$20  /13  /IT1 

具有問題IM是,我只能得到的Excel使用兩列: 鍵/值

代替4列,我需要: 鍵/值1 /值2 /值3

因爲我有超過100條目在我的字典,目標是寫e Excel的關鍵所以我可以輕鬆地排序。

回答

0

我會做的是打印逗號分隔列表爲CSV文件。

"KEY","listvalue1","listvalue2","listvalue3" 
"car seat","$10", "12", "IT1" 
"piano","$12", "2", "IT1" 
"picture frame","$2", "14", "IT1" 
"shoes","$20", "13", "IT1" 

這可以很容易地在Python中完成,Excel應該能夠打開它。然後,您可以在電子表格中操作數據,或者也可以將其複製到其他電子表格或電子表格選項卡中(如果您在其他地方需要)。

+0

完美的工作。我想我通過嘗試使用字典而不是列表來超越它,因爲我想讓這些術語互相「鎖定」。但通過使用一個列表,並將其寫入xlsx文件中,並且每次迭代都使用worksheet.write_row(),我就可以完成我所需要的工作。謝謝!! – indianhearts

2

而不是嵌入鑰匙插入列表(未在這種情況下做正確),你可以只寫keyvalue明確:

import xlsxwriter 

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

myDictionary = { 
    'car seat':['$10', '12', 'IT1'], 
    'piano':['$12', '2', 'IT1'], 
    'picture frame':['$2', '14', 'IT1'], 
    'shoes':['$20', '13', 'IT1'], 
    } 

row = 0 
for key in myDictionary.keys(): 
    worksheet.write(row, 0, key) 
    worksheet.write_row(row, 1, myDictionary[key]) 
    row += 1 

workbook.close() 

輸出:

enter image description here

請注意,您可能需要遍歷數據並更明確地進行轉換,例如,將美元值轉換爲數字。