Python将整数列表作为列添加到CSV

时间:2013-02-09 22:19:51

标签: python list csv

我有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

我怎样才能做到这一点?

2 个答案:

答案 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