如何在数组中写入excel中的整行 - xlwt

问题描述 投票:1回答:2

我想改进我的代码,取而代之:

workbook = xlwt.Workbook()
sheet = workbook.add_sheet("WS") 

header = [u'Nome da estação',u'Altitude',u'Latitude',u'Longitude']

column =0
for h in header:
    sheet.write(0, column, h)
    column += 1

对于某些代码,直接使用数组头写入整行。任何的想法?

python excel xlwt
2个回答
2
投票

将数据作为行单位写入不太可能获得任何实际改进,因为Excel以单向方式单独存储单元格。这可能就是为什么xlwt没有记录这种方法的原因。

您可以使用枚举将代码减少几行:

workbook = xlwt.Workbook()
sheet = workbook.add_sheet("WS") 

header = [u'Nome da estação',u'Altitude',u'Latitude',u'Longitude']

for column, heading in enumerate(header):
    sheet.write(0, column, heading)

如果您发现自己经常做这类事情,请编写一个小实用程序方法:

def write_header(header, row=0, start_col=0):
    for column, heading in enumerate(header, start_col):
        sheet.write(row, column, heading)

workbook = xlwt.Workbook()
sheet = workbook.add_sheet("WS") 

write_header([u'Nome da estação',u'Altitude',u'Latitude',u'Longitude'])

如果需要,可以使用其他参数在电子表格中设置标题的左上角。默认值应涵盖99%的用例。


0
投票

只有sheet.write(),为row_index, column_index写道。

如果你担心速度或优化,只需专注于优化for循环,就像你对任何其他编程流程一样。

workbook.save()最后只需要一次 - 因此文件I / O仍然只发生一次。

© www.soinside.com 2019 - 2024. All rights reserved.