我有5个列表,所有长度都相同,我想将它们写入CSV中的5列。到目前为止,我只能写一个与此代码一栏:将Python列表写入csv中的列
with open('test.csv', 'wb') as f:
writer = csv.writer(f)
for val in test_list:
writer.writerow([val])
如果我再添for
循环,它只是写道,列表中同一列。任何人都知道获得五个单独列的好方法?
我有5个列表,所有长度都相同,我想将它们写入CSV中的5列。到目前为止,我只能写一个与此代码一栏:将Python列表写入csv中的列
with open('test.csv', 'wb') as f:
writer = csv.writer(f)
for val in test_list:
writer.writerow([val])
如果我再添for
循环,它只是写道,列表中同一列。任何人都知道获得五个单独列的好方法?
改变他们行
rows = zip(list1,list2,list3,list4,list5)
然后就
import csv
with open(newfilePath, "w") as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
您可以使用izip
您的名单相结合,然后重复他们
for val in itertools.izip(l1,l2,l3,l4,l5):
writer.writerow(val)
值得注意的是'itertools.izip()'在Python 3.x中不存在,并且'zip()'内置了一个迭代器,所以这是一个简单替换。还要注意,如果你有一个列表列表,你可以使用解包操作符('zip(* lists)')。这是比变量'l1','l2'等更好的设计... –
下面的代码将蟒蛇名单进入csv的列
import csv
from itertools import zip_longest
list1 = ['a', 'b', 'c', 'd', 'e']
list2 = ['f', 'g', 'i', 'j']
d = [list1, list2]
export_data = zip_longest(*d, fillvalue = '')
with open('numbers.csv', 'w', encoding="ISO-8859-1", newline='') as myfile:
wr = csv.writer(myfile)
wr.writerow(("List1", "List2"))
wr.writerows(export_data)
myfile.close()
输出看起来像这样
我是这样的:阵列([ - 23],D类= FLOAT32),阵列([ - 0.39999986],D类= FLOAT32 ...如何获得没有类型的纯粹值? –