我想将必须创建直方图的数据写入 csv 文件。我有我的“垃圾箱”列表和“频率”列表。有人可以帮我将它们写入各自列中的 csv 吗?
即第一列中的 bin 和第二列中的频率
此示例使用izip
( 而不是zip
) 来避免创建新列表并将其保存在内存中。它还利用Python 内置的 csv 模块,确保正确转义。作为一个额外的好处,它还避免使用任何循环,因此代码简短而简洁。
import csv
from itertools import izip
with open('some.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(izip(bins, frequencies))
在 Python 3 中,您不再需要izip
- 内置zip
函数现在可以完成以前izip
的工作。您也不需要以二进制模式打开文件:
import csv
with open('some.csv', 'w') as f:
writer = csv.writer(f)
writer.writerows(zip(bins, frequencies))
你应该使用 zip() http://docs.python.org/2/library/functions.html#zip
就像是 :
f=open(my_filename,'w')
for i,j in zip(bins,frequencies):
f.write(str(i)+","+str(j))
f.close()
嗯,我错过了什么吗?这听起来很简单:
bins = [ 1,2,3,4,5 ]
freq = [ 9,8,7,6,5 ]
f = open("test.csv", "w")
for i in xrange(len(bins)):
f.write("{} {}\n".format(bins[i], freq[i]))
f.close()