我目前在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)
这会产生一个将每个字符视为新单元格的文件。我做错了什么?谢谢!
发布于 2018-08-24 06:41:09
您可以将这些列表组合在一起,以便将每一对(list1,list2)视为单行:
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
https://stackoverflow.com/questions/51995179
复制相似问题