猿问

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

我正在尝试使用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语句。我怎样才能做到这一点?


犯罪嫌疑人X
浏览 379回答 3
3回答

慕丝7291255

import csvwith 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)

陪伴而非守候

这是Alex Martelli的安全版本:import csvwith open('filename', 'wb') as myfile:    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)    wr.writerow(mylist)

幕布斯7119047

使用python的csv模块读取和写入逗号或制表符分隔的文件。首选csv模块,因为它可以使您更好地控制报价。例如,这是为您准备的示例:import csvdata = ["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"
随时随地看视频慕课网APP

相关分类

Python
我要回答