Python 如何将两个列表中的数据写入csv中的列?

Python 如何将两个列表中的数据写入csv中的列?,python,csv,file-io,Python,Csv,File Io,我想将必须创建直方图的数据写入csv文件。我有我的“垃圾箱”列表和“频率”列表。有人能给我一些帮助,把它们写进各自栏目的csv中吗 第一列中的ie存储箱和第二列中的频率您应该使用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

我想将必须创建直方图的数据写入csv文件。我有我的“垃圾箱”列表和“频率”列表。有人能给我一些帮助,把它们写进各自栏目的csv中吗

第一列中的ie存储箱和第二列中的频率

您应该使用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()
Python2的原始答案 本例使用(而不是
zip
)来避免创建新列表并将其保留在内存中。它还利用了,这确保了适当的逃逸。另外,它还避免了使用任何循环,因此代码简短

import csv
from itertools import izip

with open('some.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(izip(bins, frequencies))
该代码适用于Python 3 在Python3中,您不再需要
izip
,内置程序现在执行
izip
以前的操作。您也不需要以二进制模式打开文件:

import csv

with open('some.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(bins, frequencies))

到目前为止,您尝试了什么?存储箱和频率列表(数字、字符串、列表、词典、类实例等)中有哪些类型的数据?你在问题中输入的细节越多,你会得到更好的答案。更好的是,不要只描述数据,给我们一些样本数据,以及你想要的确切输出格式。因为他没有告诉我们任何关于垃圾箱标签的样子,我肯定想在这里使用
csv
。否则,类似于
“a=0-10,b=0-10”
的bin将结束为两列。谢谢,这非常有效。以后我会尝试在这个问题中添加更多细节,事后我可以看出它是多么模糊。此外,在Python 3中,您不需要将其作为二进制文件打开:在Python 3中使用“w”而不是“wb”,您不需要导入zip,您只需使用它即可。()@Suleka_28没错。我的回答中提到了这一点,但我发现仍然有很多混淆,所以我添加了一个显式的Python 3示例