2016-04-12 96 views
-1
list1 = [1,2,4,5,7,8,9] corresponds to ID 
list2 = [3,2,1,1,1,2,3] corresponds to relevance 

我有兩個不同的列表說有list1,list2和數值在裏面。我想寫一個帶有標題[「ID」,「相關性」]的csv文件。現在我想在標題「ID」中寫入list1的值,在標題「Relevance」中寫入列表2的值。我寫下面的代碼試圖寫兩個列表,但它沒有給出所需的輸出。寫兩個單獨的列表CSV文件中的頭文件

我想輸出是在下面的示例格式:

ID Relevance 
1   3 
3   2 
4   2 
6   1 
7   3 
10  1 

代碼:

+0

帖子代碼*格式正確*,告訴我們它做錯了什麼,並告訴我們你做了什麼來解決它。 – Malvolio

+0

@Malvolio我已經嘗試了每個可能的代碼從stackover流,但我不能得到預期的結果。以上發佈的代碼是我最喜歡的最終代碼。 – Sameer

回答

4

你要尋找的是zip()。這將工作:

with open('results_cosine11.csv', 'w', encoding="ISO-8859-1", newline='') as myfile: 
    wr = csv.writer(myfile) 
    for value in zip(list1,list2): 
     wr.writerow(value) 

或者,更有效地:

with open('results_cosine11.csv', 'w', encoding="ISO-8859-1", newline='') as myfile: 
    wr = csv.writer(myfile) 
    wr.writerows(zip(list1,list2)) 

爲了寫頭太:

with open('results_cosine11.csv', 'w', encoding="ISO-8859-1", newline='') as myfile: 
    wr = csv.writer(myfile) 
    wr.writerow(("ID", "Relevance")) 
    wr.writerows(zip(list1,list2)) 
+1

'wr.writerows(zip(list1,list2))'也可以工作,不需要創建臨時列表來消費地圖。 –

+0

@Ilja沒有看到它存在。謝謝,更新。 – Bharel

+0

@bharel我也想寫第一行標題作爲ID,相關性 – Sameer

0

嘗試

a= zip(list1,list2) 
for id,relevance in a: 
    #... do whatever 
相關問題