根据 Python HTML 电子邮件中的单元格值将 HTML 表格单元格从“低到高颜色阴影”着色
Posted
技术标签:
【中文标题】根据 Python HTML 电子邮件中的单元格值将 HTML 表格单元格从“低到高颜色阴影”着色【英文标题】:Coloring HTML table cells from "Low to High Color Shades" depending on Cell Value in Python HTML Email 【发布时间】:2015-03-19 14:01:32 【问题描述】:我正在使用带有 html 表格的 HTML 电子邮件 - Python MIME 类型:文本/html 电子邮件,代码如下:
dashboardTable = """ <table>"""
indexCount = 1
for sectionIndex in range(0,len(sections_available)):
dashboardTable = dashboardTable + """
<tr>
<td align='left'>""" + str(indexCount) + """ </td>
<td align='left'>""" + sections_available[sectionIndex] + """ </td>
<td align='left'> """ + str(sections_timeTaken[sectionIndex]) + """ </td>
</tr>"""
indexCount = indexCount + 1
dashboardTable = dashboardTable + """</table>"""
我需要给第三个单元格上色:
<td align='left'> """ + str(sections_timeTaken[sectionIndex]) + """ </td>
以这样的方式,最高的sections_timeTaken 值与“红色”保持一致,最低为“绿色”。以从最高到最低的有序方式对整个值范围进行着色:
喜欢红色 -> 浅红色 -> Lightesr 红色 -> 黄色 -> 最终是绿色。[没有提到确切的阴影]
要在表格中绘制的值的总数将保持动态。
我在电子邮件中使用 Python HTML 表格。
【问题讨论】:
【参考方案1】:我认为这在 HSL 中会更容易使用,至少对于设置颜色值而言。这样一来,您可以在 0-1 范围内为每个 h-s-l 使用一个计数器,而不是设置一堆十六进制点来淡入/淡出并通过数组寻址。
幸运的是,有一个很好的用于颜色格式转换的 python 库: https://pypi.python.org/pypi/colour/0.0.5
我认为应该很容易将其应用到您的代码中。
【讨论】:
或者如果您愿意,您可以将颜色设置为十六进制颜色 -> hsl 转换 -> for statements -> hex 转换以上是关于根据 Python HTML 电子邮件中的单元格值将 HTML 表格单元格从“低到高颜色阴影”着色的主要内容,如果未能解决你的问题,请参考以下文章
如果条件为真,如何循环 LibreOffice Calc 电子表格中的行范围、比较单元格值、设置单元格值和删除行