我正在使用 python 模块 reportlab 创建一个表。在此表中,我想根据任何特定单元格的值循环并使用不同的背景颜色。
为此,我提出了以下建议:
elements = []
table1 = [[34,27,35,35],
[3,76,23,157],
[13,137,15,75],
[56,26,46,26]]
t1 = Table(table1)
for ii in range(len(table1)):
for jj in range(len(table1)):
if table1[ii][jj] <=50:
ourcolor = colors.white
elif table1[ii][jj] <=100:
ourcolor = colors.skyblue
elif table1[ii][jj] <=200:
ourcolor = colors.green
else:
ourcolor = colors.white
t1.setStyle(TableStyle([('BACKGROUND', (ii,jj), (ii,jj), ourcolor),
('ALIGN', (0,0), (-1,-1), 'CENTER'),
('INNERGRID', (0,0), (-1,-1), 0.25, colors.black),
('BOX', (0,0), (-1,-1), 0.25, colors.black)
]))
elements.append(t1)
但是,许多单元格仍然没有着色,其中许多着色不正确,但其中一些是正确的。我假设我的循环有问题,因为我不是一个非常有经验的程序员。
任何帮助或想法将不胜感激。