使用Python lis中的值创建一个.csv文件

2024-04-24 16:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用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语句。我该怎么做?


Tags: 文件csvin文本列表forvalueunicode
3条回答

对于另一种方法,可以在pandas中使用DataFrame: 它可以像下面的代码一样轻松地将数据转储到csv:

import pandas
df = pandas.DataFrame(data={"col1": list_1, "col2": list_2})
df.to_csv("./file.csv", sep=',',index=False)

以下是Alex Martelli的安全版本:

import csv

with open('filename', 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)
import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)

编辑:这只适用于Python2.x

使用python 3.x将wb替换为wsee this SO answer

with open(..., 'w', newline='') as myfile:
     wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
     wr.writerow(mylist)

相关问题 更多 >