Как я могу получать значения в разных диапазонах ячеек?

Я использую xlwt с Python, чтобы получить некоторые данные от чего-то и записать его в файл xls , но мне нужно получить выходные данные в разных диапазонах ячеек. У меня есть код:

  #Here's the code for that : 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 = "table.xls" book.save(name) book.save(TemporaryFile()) 

Выход ( "table.xls"):

 #Output * ABCDE 1 1 2 3 4 5 2 6 7 8 9 10 3 2 3 4 5 6 

Но я хочу что-то вроде этого:

 # I want the values in different ranges of cells * ABCDEFGHI 1 1 6 2 3 4 5 6 2 2 7 3 3 8 4 4 9 5 5 10 

Может кто-нибудь мне помочь? благодаря

Я считаю, что одним из самых простых решений является использование izip_longest из модуля itertools , таким образом:

 >>> a=[1,2,3,4,5] >>> b=[6,7,8,9,10] >>> c=[2,3,4,5,6] >>> c_ = [[x] for x in c] >>> c_ [[2], [3], [4], [5], [6]] >>> data = list(izip_longest(a,[],b,[],*c_, fillvalue='')) >>> for i in data: l = [] for j in i: l.append(j) print l [1, '', 6, '', 2, 3, 4, 5, 6] [2, '', 7, '', '', '', '', '', ''] [3, '', 8, '', '', '', '', '', ''] [4, '', 9, '', '', '', '', '', ''] [5, '', 10, '', '', '', '', '', ''] 

Теперь вы можете легко записать его в свой файл excel:

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

Я предположил, что вы используете Python2