为了账号安全,请及时绑定邮箱和手机立即绑定

使用Python列表中的值创建.csv文件

使用Python列表中的值创建.csv文件

犯罪嫌疑人X 2019-10-25 10:44:08
我正在尝试使用Python列表中的值创建一个.csv文件。当我打印列表中的值时,它们都是unicode(?),即它们看起来像这样[u'value 1', u'value 2', ...]如果我遍历列表中的值,即for v in mylist: print v它们似乎是纯文本。我可以,在每个与print ','.join(mylist)我可以输出到文件,即myfile = open(...)print >>myfile, ','.join(mylist)但是我想输出到CSV并在列表中的值周围有定界符,例如"value 1", "value 2", ... 我找不到在格式中包含定界符的简单方法,例如,我已经尝试过该join语句。我怎样才能做到这一点?
查看完整描述

3 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

import csv


with open(..., 'wb') as myfile:

    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

    wr.writerow(mylist)

编辑:这仅适用于python2.x。


为了使其与python 3.x wb一起工作,请替换为w(请参阅此SO答案)


with open(..., 'w', newline='') as myfile:

     wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

     wr.writerow(mylist)


查看完整回答
反对 回复 2019-10-25
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

这是Alex Martelli的安全版本:


import csv


with open('filename', 'wb') as myfile:

    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

    wr.writerow(mylist)


查看完整回答
反对 回复 2019-10-25
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

使用python的csv模块读取和写入逗号或制表符分隔的文件。首选csv模块,因为它可以使您更好地控制报价。


例如,这是为您准备的示例:


import csv

data = ["value %d" % i for i in range(1,4)]


out = csv.writer(open("myfile.csv","w"), delimiter=',',quoting=csv.QUOTE_ALL)

out.writerow(data)

产生:


"value 1","value 2","value 3"


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信