Excel将数据存储在Row-major order中。
你必须首先打破了问题了下来:
a = [1,3,5,7]
b = [2,4,6,8]
c = [0,0,0,0]
data = [a,b,c]
for i in range(len(data[0])):
for j in range(len(data)):
print data[j][i],
print ''
输出:
1 2 0
3 4 0
5 6 0
7 8 0
全部放在一起:
import csv
my_output = open('myfile.csv', 'wb')
mywriter = csv.writer(my_output)
a = [1,3,5,7]
b = [2,4,6,8]
c = [0,0,0,0]
data = [a,b,c]
for i in range(len(data[0])):
row = [data[j][i] for j in range(len(data))]
mywriter.writerow(row)
my_output.close()
较短(更安全)版本:
import csv
my_output = open('myfile.csv', 'wb')
mywriter = csv.writer(my_output)
a = [1,3,5,7]
b = [2,4,6,8]
c = [0,0,0,0]
data = [a,b,c]
for row in zip(*data):
mywriter.writerow(row)
my_output.close()
有关此内置功能的信息,请参阅zip([iterable, ...])
。
文档凡'csv_out'定义?你的意思是'my_output'? –
可能的重复:[Python:CSV按列而不是行写入](http://stackoverflow.com/questions/4155106/python-csv-write-by-column-rather-than-row) –
是啊,已将其更改为my_output。现在我收到一个错误: – jenny