2017-06-20 43 views
-6

我有一個Python 2.7.9中的字典。我想在電子表格中的數據字典中顯示數據。我怎樣才能做到這一點?請注意,該字典裏面有超過15個不同的項目。將python中的數據連接到電子表格

詞典:

{'Leda Doggslife': '$13.99', 'Carson Busses': '$29.95', 'Derri Anne Connecticut': '$19.25', 'Bobbi Soks': '$5.68', 'Ben D. Rules': '$7.50', 'Patty Cakes': '$15.26', 'Ira Pent': '$16.27', 'Moe Tell': '$10.09', 'Ido Hoe': '$14.47', 'Ave Sectomy': '$50.85', 'Phil Meup': '$15.98', 'Al Fresco': '$8.49', 'Moe Dess': '$19.25', 'Sheila Takya': '$15.00', 'Earl E. Byrd': '$8.37', 'Rose Tattoo': '$114.07', 'Gary Shattire': '$14.26', 'Len Lease': '$11.11', 'Howie Kisses': '$15.86', 'Dan Druff': '$31.57'} 
+1

你到目前爲止嘗試了什麼?你遇到什麼具體的部分?你谷歌「蟒蛇電子表格」? –

+0

是的,我看着它。它顯示我寫的CSV文件,但我無法得到它爲每個名稱和價格添加一個新的行。 –

回答

0

你們是不是寫你的字典在Excel電子表格? 在這種情況下,你可以使用win32com庫:

import win32com.client 
xlApp = win32com.client.DispatchEx('Excel.Application') 
xlApp.Visible = 0 
xlBook = xlApp.Workbooks.Open(my_filename) 
sht = xlBook.Worksheets(my_sheet) 
row = 1 
for element in dict.keys(): 
    sht.Cells(row, 1).Value = element 
    sht.Cells(row, 2).Value = dict[element] 
    row += 1 
xlBook.Save() 
xlBook.Close() 

注意這個代碼的工作只是如果工作簿已經存在。 否則:

import win32com.client 
xlApp = win32com.client.DispatchEx('Excel.Application') 
xlApp.Visible = 0 
xlBook = xlApp.Workbooks.Add() 
sht = xlBook.Worksheets(my_sheet) 
row = 1 
for element in dict.keys(): 
    sht.Cells(row, 1).Value = element 
    sht.Cells(row, 2).Value = dict[element] 
    row += 1 
xlBook.SaveAs(mw_filename) 
xlBook.Close() 

我希望這將是正確的回答你的問題。

+0

謝謝,我一定會試試這個。但是,如果我更改字典並再次運行程序,是否會更新現有電子表格並添加數據,而不刪除以前的數據? –

+0

Excel文件中的數據將被覆蓋。如果您想要將數據附加到文件中的現有數據,則可以計算列長度並開始在該行之後進行寫入。例如,您可以在行值初始化和for循環之間添加以下兩行代碼行(while循環):while sht.Cells(row,1):row + = 1 – CunivL

相關問題