我有3个格式的整数列表:
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
我尝试按以下格式将这些文件输入CSV文件,每个列表中的每个项目都占一行,每个列表都采用新列:
1 4 7
2 5 8
3 6 9
目前我的代码(下方)能够将第一个列表添加到CSV中,尽管我无法按照我希望的方式添加第二个和第三个列表。
with open('Test.csv', 'wb') as f:
for item in a:
csv.writer(f).writerow([item])
提供CSV输出:
1
2
3
如果我只使用以下代码,b列表将添加到同一列,我需要将其插入第二列:
for itemB in b:
csv.writer(f).writerow([itemB])
提供CSV输出:
1
2
3
4
5
6
我怎样才能做到这一点?
答案 0 :(得分:3)
zip(a, b, c)
为您提供了行列表:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
with open('Test.csv', 'wb') as f:
w = csv.writer(f)
for row in zip(a, b, c):
w.writerow(row)
答案 1 :(得分:0)
这有效:
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
with open('/tmp/test.csv','wb') as out:
for row in zip(a,b,c):
csv.writer(out, delimiter=' ').writerow(row)
甚至:
with open('/tmp/test.csv','wb') as out:
csv.writer(out, delimiter=' ').writerows(zip(a,b,c))
输出:
$ cat /tmp/test.csv
1 4 7
2 5 8
3 6 9