使用xlwt填充颜色的单元格和没有颜色python的单元格

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

我有我的清单

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', '', '', '', '', '']]

我想只是为列表中的元素着色'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') 

不确定我是否错过了值中每个元素的迭代

python-3.x loops for-loop iteration xlwt
1个回答
1
投票

您正在使用values并且应该使用data来引用内部列表中的单个元素,因此不是:

if values=='w':

你将会拥有

if data=='w':
© www.soinside.com 2019 - 2024. All rights reserved.