我目前在Python中有两个看起来像这样的列表:
list1 = ['Steve', 'Mark', 'Jeff', ... ]
list2 = ['steve@mac.com', 'mark223@mac.com', 'jeffrey@mac.com', ...]
由此,我试图创建一个如下所示的csv文件:
Steve steve@mac.com
Mark mark223@mac.com
Jeff jeffrey@mac.com
....
我使用的代码是:
import csv
with open('output.csv','w') as f:
writer = csv.writer(f)
writer.writerows(list1,list2)
这将导致将每个字符视为新单元的文件。我究竟做错了什么?谢谢!
答案 0 :(得分:1)
您可以zip
一起使用这些列表,以便将每对(列表1,列表2)都视为单行:
import csv
list1 = ['Steve', 'Mark', 'Jeff']
list2 = ['steve@mac.com', 'mark223@mac.com', 'jeffrey@mac.com']
with open('output.csv','w') as f:
writer = csv.writer(f)
writer.writerows(zip(list1,list2))
示例输出:
$ cat output.csv
Steve,steve@mac.com
Mark,mark223@mac.com
Jeff,jeffrey@mac.com
如果您需要将输出用空格或制表符分隔(而不是逗号),则可以将其指定为csv.writer
的参数。例如:
import csv
list1 = ['Steve', 'Mark', 'Jeff']
list2 = ['steve@mac.com', 'mark223@mac.com', 'jeffrey@mac.com']
with open('output.csv','w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(zip(list1,list2))
产生:
$ cat output.csv
Steve steve@mac.com
Mark mark223@mac.com
Jeff jeffrey@mac.com