1

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

我怎样才能做到这一点?

4

2 回答 2

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)
于 2013-02-09T22:21:08.777 回答
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
于 2013-02-09T22:47:58.610 回答