используя xlwt для заполнения ячейки цветом и ячейки без цвета питона - PullRequest
0 голосов
/ 05 марта 2019

У меня есть список

mylist=[['w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', '', '', '', '', ''],['', '', '', '', '', '', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', '', '', '', '', '']]

Я хочу просто раскрасить элемент в списке: «У» У меня есть код, но он раскрашивает все столбцы, а не только те, которые есть »'

import xlwt 
from xlwt import Workbook 

row = 1
for values in my_list:
    for col, data in enumerate(values):
        if values=='w':
            style=xlwt.easyxf('pattern: pattern solid, fore_colour blue;' 'font: colour black, bold True, name Calibri, height 180; align: vert centre, horiz centre;border: left thin,right thin,top thin,bottom thin') 
            sheet1.write(6+row, 1+col, data, style=style) 
        else:
            style=xlwt.easyxf('pattern: pattern solid, fore_colour white;' 'font: colour black, bold True, name Calibri, height 180; align: vert centre, horiz centre;border: left thin,right thin,top thin,bottom thin') 
            sheet1.write(6+row, 1+col, data, style=style) 

    row = row + 1 

wb.save('example.xls') 

Не уверен, что пропустил итерацию каждого элемента в значениях

1 Ответ

0 голосов
/ 05 марта 2019

Вы используете values и должны использовать data для ссылки на один элемент в вашем внутреннем списке, поэтому вместо:

if values=='w':

у вас будет

if data=='w':
...