2016-04-12 8 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の2つのリストに数値が入っています。私はヘッダー["ID"、 "Relevance"]を持つcsvファイルに両方を書きたいと思います。今、私は、ヘッダー "ID"にlist1の値を、ヘッダー "Relevance"にlist2の値を書きたいと思います。私は両方のリストを書くことを試みるコードの下に書いたが、それは望ましい出力を与えない。csvに2つの別々のリストをPythonでヘッダをつけて書く

私は出力がサンプルフォーマットの下でになりたい:

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

コード:

+0

ポストを試してみてくださいコード*が正しくフォーマットされているかどうか、それが何を間違っているのかを教えて、それを修正しようとしたことを教えてください。 – Malvolio

+0

@Malvolio私はスタックオーバーフローからすべての可能なコードを試しましたが、期待した結果が得られませんでした。上記の投稿されたコードは私が現在好む最終コードです。 – 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 
関連する問題