2017-05-25 85 views
0

我創建了一個名爲學生的字典,所以例如當我說打印學生[Student00,Student00]我得到('111111100',72,40)}等等的另一個學生名字試圖打印字典到文件

我想輸出字典到一個csv文件中,每個條目在它自己的單元格中的csv中,所以Student00,Student00將在第一個單元格中,然後111111100在下一個單元格中,在下一個單元格中,然後是72 40在最後一個單元格中。我試過下面的代碼,它沒有工作。它在第一個單元格中打印了關鍵字,然後在第二個單元格中打印了值,但我希望每個值都在它自己的單元格中。我怎樣才能做到這一點?

with open('ur file.csv','wb') as out: 
    for key, val in students.items(): 
     csv_out=csv.writer(out) 
     csv_out.writerow([key, val]) 
    for row in students: 
     csv_out.writerow(row) 

回答

2

的問題是這一行:

csv_out.writerow([key, val]) 

該行說,我寫了2個細胞,在第一個單元格keyval在第二位。如果你想writerow寫4個單元格,那麼你必須提供一個長度爲4的列表。從你的描述中,val是一個3元組。試試這個:

csv_out.writerow([key] + list(val)) 
+0

工作正常!非常感謝。我甚至沒有意識到。 – K22

0
with open('ur file.csv','wb') as out: 
    csv_out=csv.writer(out) 
    # then do for loop and write stuff... 
+1

儘管此代碼可以回答這個問題,提供了關於如何和/或爲什麼它解決了這個問題將改善答案的長期價值附加的上下文。 –