根据 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 表格单元格从“低到高颜色阴影”着色的主要内容,如果未能解决你的问题,请参考以下文章

Google电子表格脚本,用于根据单元格值插入新行

如果条件为真,如何循环 LibreOffice Calc 电子表格中的行范围、比较单元格值、设置单元格值和删除行

根据每个表格行中的单元格值更改按钮文本 - Jquery

基于单个单元格值的 Google 电子表格中的重复行

按单元格值提取 excel 数据:python PANDAS

根据表格中的单元格值隐藏按钮