写入csv,Python,不同的数据类型

时间:2012-03-19 20:23:17

标签: python csv

我是Python新手,想将不同类型的数据写入csv文件的列。

我有两个列表和一个ndarray。我想将这些作为三列,第一行是变量名。

有没有办法在一行中执行此操作,还是必须首先转换为数组?

len(all_docs.data)
Out[34]: 19916

In [35]: type(all_docs.data)
Out[35]: list

In [36]: len(all_docs.target)
Out[36]: 19916

In [37]: type(all_docs.target)
Out[37]: numpy.ndarray

In [38]: id = range(len(all_docs.target)

1 个答案:

答案 0 :(得分:4)

您可以将它全部转换为numpy数组并使用savetxt保存,但为什么不直接执行?

您可以像遍历列表一样迭代数组。只需zip他们在一起。

with open('output.csv', 'w') as outfile:
    outfile.write('Col1name, Col2name, Col3name\n')
    for row in zip(col1, col2, col3):
        outfile.write('{}, {}, {}\n'.format(a,b,c))

或者,如果您愿意,可以使用csv模块。如果你不得不担心转义,,那就非常有用了。

import csv
with open('output.csv', 'w') as outfile:
    writer = csv.writer(outfile)
    outfile.write('Col1name, Col2name, Col3name\n')
    for row in zip(col1, col2, col3):
        writer.writerow(row)