2014-12-30 66 views
0

我是一個編程福利局(使用python3 ATM)和我的第一個程序需要服用4個用戶輸入(與指定的轉義字符一個無限循環),並最終將它們寫入帶有標題的CSV文件。要麼這樣,要麼將數據寫入每4個單元格的新行,通過2天的搜索,我無法弄清楚該怎麼做。從用戶輸入製作一個嵌套列表,並輸出到CSV

我得到了程序與採取的輸入,並將其寫入到CSV工作,但它僅覆蓋第一排與循環的每次迭代中的數據。

這裏就是我這麼遠

count = 0 
while (1): 

    variable1 = str(input('Enter data here: ')) 
    variable2 = str(input('Enter data here: ')) 
    variable3 = str(input('Enter data here: ')) 
    variable4 = str(input('Enter data here: ')) 

    save = [variable1,variable2,variable3,variable4] 
    file = open('file.csv', 'w', newline='') 
    csv_write = csv.writer(save, delimiter=',') 
    file.close() 
    count += 1 

我的問題是理解(可能理解)如何採取在每個循環迭代完成的輸入和數據存儲到自己的嵌套列表段。 Sorta like

save = [[iteration1Variable1,iteration1Variable2,iteration1Variable3,iteration1Variable4], 
     [iteration2Variable1,iteration2Variable2,iteration2Variable3,iteration2Variable4]] 

然後將嵌套列表寫入CSV。

我希望我能夠很好地描述我的需求和對這個概念的理解。 :\

+0

'open'文件*一旦出方*循環... –

+0

另外 - 什麼是轉義字符和'計數'是什麼意思?看起來代碼有點多餘 –

+0

現在看看它,它可以被刪除的無關代碼。感謝您指出! – Matt

回答

0

怎麼樣...:

count = 0 
    f = open('file.csv', 'w') 
    w = csv.writer(f) 
    allsaves = [] 
    while True: 
     variable1 = str(input('Enter data here: ')) 
     variable2 = str(input('Enter data here: ')) 
     variable3 = str(input('Enter data here: ')) 
     variable4 = str(input('Enter data here: ')) 

     save = [variable1,variable2,variable3,variable4] 
     w.writerow(save) 
     allsaves.append(save) 

其實你最好更好有一個終止條件break出的同時,否則你會在那裏一個時間: - )

0

,通過循環運行,只有兩次一個簡單的解決方案...

import csv 

with open('file.csv', 'w') as csvfile: 
csv_write = csv.writer(csvfile) 
count = 0 

while (count<2): 
    variable1 = str(input('Enter data here: ')) 
    variable2 = str(input('Enter data here: ')) 
    variable3 = str(input('Enter data here: ')) 
    variable4 = str(input('Enter data here: ')) 
    csv_write.writerow([variable1, variable2, variable3, variable4]) 
    count += 1 
相關問題