首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python 3中,如何将两个字符串列表写入两列的csv文件?

在Python 3中,如何将两个字符串列表写入两列的csv文件?
EN

Stack Overflow用户
提问于 2018-08-24 06:37:13
回答 1查看 70关注 0票数 0

我目前在Python中有两个列表,如下所示:

代码语言:javascript
复制
list1 = ['Steve', 'Mark', 'Jeff', ... ]
list2 = ['steve@mac.com', 'mark223@mac.com', 'jeffrey@mac.com', ...]

在此基础上,我尝试创建一个csv文件,如下所示:

代码语言:javascript
复制
Steve   steve@mac.com
Mark    mark223@mac.com
Jeff    jeffrey@mac.com
....

我使用的代码是:

代码语言:javascript
复制
import csv

with open('output.csv','w') as f:
    writer = csv.writer(f)
    writer.writerows(list1,list2)

这会产生一个将每个字符视为新单元格的文件。我做错了什么?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 06:41:09

您可以将这些列表组合在一起,以便将每一对(list1,list2)视为单行:

代码语言:javascript
复制
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))

示例输出:

代码语言:javascript
复制
$ cat output.csv 
Steve,steve@mac.com
Mark,mark223@mac.com
Jeff,jeffrey@mac.com

如果需要用空格或制表符分隔输出(而不是逗号),可以将其指定为csv.writer的参数。例如:

代码语言:javascript
复制
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))

产生:

代码语言:javascript
复制
$ cat output.csv 
Steve   steve@mac.com
Mark    mark223@mac.com
Jeff    jeffrey@mac.com
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51995179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档