简体   繁体   English

使用python中的标头将两个单独的列表写入csv

[英]Write two separate lists to csv with headers in python

list1 = [1,2,4,5,7,8,9]  corresponds to ID
list2 = [3,2,1,1,1,2,3]  corresponds to relevance

I have two different lists say list1,list2 with numerical values in it. 我有两个不同的列表,分别是list1,list2和数值。 I want to write both to a csv file with headers ["ID","Relevance"]. 我想将两者都写入标头为[“ ID”,“ Relevance”]的csv文件中。 Now I want to write values of list1 in header "ID" and list2 in header "Relevance". 现在,我想在标题“ ID”中写入list1的值,在标题“相关性”中写入list2的值。 I have written below code trying to write both lists but it doesnt give desired output. 我在下面的代码中尝试写两个列表,但没有给出期望的输出。

I want output to be in below sample format: 我希望输出采用以下示例格式:

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

code: 码:

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

What you're looking for is zip() . 您正在寻找的是zip() This will work: 这将起作用:

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)

Or, more efficiently: 或者,更有效地:

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

In order to write the header too: 为了也写标题:

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))

try 尝试

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM