简体   繁体   English

使用XLWT写入特定的行/列

[英]Writing to a certain row/column using XLWT

My data is in the form of a list of lists and I would like to begin writing the data in row 1, column zero. 我的数据采用列表形式,我想开始将数据写入第1行第0列。 I am using the xlwt library. 我正在使用xlwt库。

def to_spreadsheets(data_one):
    workbook = xlwt.Workbook()
    sheet_one = workbook.add_sheet("July 2013 Stats")


    data_one_trimmed = data_one['rows']

    for rownum, sublist in enumerate(data_one_trimmed):
        for colnum, value in enumerate(sublist):
            sheet_one.write(rownum, colnum, value)

This code writes my data to row 0, column 0 as I would like it to, but I have no idea how to change the location of where it writes to. 这段代码按我的意愿将数据写入第0行第0列,但是我不知道如何更改写入数据的位置。

I tried sheet_one.write(1, 0, rownum, colnum, value) , but it obviously did not work. 我尝试了sheet_one.write(1, 0, rownum, colnum, value) ,但是显然不起作用。

Any thoughts? 有什么想法吗?

If you wish to "offset" a row/column by some value, you can use a second argument to enumerate which is where it starts counting. 如果希望将行/列“偏移”一些值,则可以使用第二个参数enumerate它开始计数的位置。 enumerate will start from 0 by default, but you can start it from 1 (or any integer value) using its second argument, eg: enumerate(some_iterable, 1) . 默认情况下, enumerate将从0开始,但是您可以使用其第二个参数从1(或任何整数值)开始,例如: enumerate(some_iterable, 1)

The docs are https://docs.python.org/2/library/functions.html#enumerate which states: 该文档是https://docs.python.org/2/library/functions.html#enumerate其中指出:

enumerate(sequence, start=0) 枚举(顺序,开始= 0)

Return an enumerate object. 返回一个枚举对象。 sequence must be a sequence, an iterator, or some other object which supports iteration. sequence必须是序列,迭代器或其他支持迭代的对象。 The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over sequence: 由enumerate()返回的迭代器的next()方法返回一个元组,该元组包含一个计数(从起始位置开始,默认为0)和从对序列进行迭代获得的值:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM