我是 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)
最佳答案
您可以将它全部转换为一个 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)
关于python - 写入 csv、Python、不同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777530/