如何将多个数组写入excel文件?

时间:2013-06-12 15:08:17

标签: python arrays excel xls xlwt

如果我有几个数组,我想使用Python写入excel文件,那么最好的方法是什么?我已经尝试了几种方法而且无法弄明白......这是我尝试的一种方式的例子......我是新手

import xlwt
from tempfile import TemporaryFile
book = xlwt.Workbook()
sheet1 = book.add_sheet('sheet1')


a=[1,2,3,4,5]
b=[6,7,8,9,10]
c=[2,3,4,5,6]

data = [a,b,c]

for i,e in enumerate(data):
    sheet1.write(i,1,e)

name = "this.xls"
book.save(name)
book.save(TemporaryFile())

2 个答案:

答案 0 :(得分:3)

根据Steven Rumbalski的建议,

import xlwt
from tempfile import TemporaryFile
book = xlwt.Workbook()
sheet1 = book.add_sheet('sheet1')


a=[1,2,3,4,5]
b=[6,7,8,9,10]
c=[2,3,4,5,6]

data = [a,b,c]

for row, array in enumerate(data):
    for col, value in enumerate(array):
        sheet1.write(row, col, value):

name = "this.xls"
book.save(name)
book.save(TemporaryFile())

答案 1 :(得分:0)

您可以使用的另一个选项是将数组写为分隔文本文件。 Excel可以轻松读取它们(只需将它们打开就像它们是Excel工作表一样,您将获得导入对话框)。

这是执行此操作的代码 -

path='foo.txt'

a=[1,2,3,4,5]
b=[6,7,8,9,10]
c=[2,3,4,5,6]

with open(path,'w') as table:
    for row in zip(a,b,c):
        for cell in row:
            table.write(str(cell) + '\t')
        table.write('\n')

在这种情况下,数组是垂直写入的,单元格由制表符分隔(Excel处理冗余制表符没有问题)。