将2个列表作为列名和后续值写入csv

时间:2018-10-11 15:44:09

标签: python python-3.x csv

我有2个列表,我正在尝试从中创建一个csv。我想将第一个列表的值写为列名,并将第二个列表中的条目写为那些列的对应值。例如:

1st list = ['A', 'B', 'C','D','E']
2nd list = [['1','2','3','4','5'], ['6','7','8','9','10']]

我希望csv看起来像这样:

A     B     C     D     E
1     2     3     4     5
6     7     8     9     10

我尝试使用csv writer.writerows将第一个列表写为单行,并成功地将其作为列名。但是,当我尝试将第二个列表写入同一csv文件时,它将覆盖列名。我还尝试压缩两个列表,然后将它们写入文件,但这也无济于事。

能否请您建议我解决此问题的方法?我将不胜感激这些建议。谢谢!

1 个答案:

答案 0 :(得分:1)

In[2]: one = ['A', 'B', 'C','D','E']
  ...: two = [['1','2','3','4','5'], ['6','7','8','9','10']]
In[3]: import csv
  ...: 
  ...: with open('outfile.csv', 'w') as f:
  ...:     writer = csv.writer(f)
  ...:     writer.writerow(one)
  ...:     writer.writerows(two)
  ...: 
In[4]: with open('outfile.csv', 'r') as f:
  ...:     print(f.read())
  ...: 
A,B,C,D,E
1,2,3,4,5
6,7,8,9,10