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

Ich habe zwei verschiedene Listen sagen list1, list2 mit numerischen Werten drin. Ich möchte beide in eine CSV-Datei mit Kopfzeilen ["ID", "Relevanz"] schreiben. Jetzt möchte ich Werte von list1 in Header "ID" und list2 in Header "Relevanz" schreiben. Ich habe unten Code geschrieben, der versucht, beide Listen zu schreiben, aber es gibt gewünschte Ausgabe nicht.Schreiben Sie zwei separate Listen zu csv mit Kopfzeilen in Python

Ich möchte Ausgabe in folgenden Probe-Format sein:

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

Code:

+0

Beitrag versuchen der Code * richtig formatiert *, sagen Sie uns, was es falsch gemacht hat, und sagen Sie uns, was Sie getan haben, um es zu beheben. – Malvolio

+0

@Malvolio Ich habe jeden möglichen Code aus Stackover-Flow versucht, aber ich konnte nicht die erwarteten Ergebnisse erhalten. Der oben angegebene Code ist der endgültige Code, den ich derzeit bevorzuge. – Sameer

Antwort

4

Was Sie suchen zip() ist. Dies funktioniert:

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) 

Oder effizienter:

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

Um auch den Header zu schreiben:

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))' funktioniert auch, ohne dass eine temporäre Liste erstellt werden muss, um die Map zu konsumieren. –

+0

@Ilja Hab nicht gesehen, dass es existiert. Danke, aktualisiert. – Bharel

+0

@bharel Ich möchte auch Header in der ersten Zeile als ID schreiben, Relevanz – Sameer

0

a= zip(list1,list2) 
for id,relevance in a: 
    #... do whatever 
Verwandte Themen