Python 如何使用Pandas to_html将相同的html bg颜色应用于所有列

Python 如何使用Pandas to_html将相同的html bg颜色应用于所有列,python,html,pandas,sed,Python,Html,Pandas,Sed,我一直在尝试根据标识符数据将相同的背景色应用于同一行中的所有单元格 例如: def add_bg_color(html, identifier): return html.replace( f"<td>{identifier}<\/td>", f"<td background-color='grey'>{identifier}<\/td>" ) 如何使整行

我一直在尝试根据标识符数据将相同的背景色应用于同一行中的所有单元格

例如:

def add_bg_color(html, identifier):
    return html.replace(
        f"<td>{identifier}<\/td>", 
        f"<td background-color='grey'>{identifier}<\/td>"
    )

如何使整行颜色相同?现在只有日期列是彩色的

我正在使用
df.to_html()
然后使用
sed

sed -i 's@<td>2020-08-31<\/td>@<td bgcolor="grey">2020-08-31<\/td>@g' <file>
sed -i 's@<td>2020-09-01<\/td>@<td bgcolor="#F49884">2020-09-01<\/td>@g' <file>

sed-i's@2020-08-31@2020-08-31@g' 
塞德-我是s@2020-09-01@2020-09-01@g' 

我愿意使用
sed
/
awk
或Python。

您可以使用
.replace()
在Python中执行此操作

Pandas
to_html()
只返回表示数据帧的html字符串。然后可以对结果字符串使用任何Python字符串操作

例如:

def add_bg_color(html, identifier):
    return html.replace(
        f"<td>{identifier}<\/td>", 
        f"<td background-color='grey'>{identifier}<\/td>"
    )

注意:我还将
bgcolor
更改为
background color
,这是正确的CSS属性名称。

这里定义了表格的显示方式,这就是CSS的用途。默认情况下,pandas生成的html表被分配了类
dataframe
,该类可在CSS选择器中使用(如果需要,您可以使用
to_html()
参数进一步自定义实例)。如果您可以在html页面中添加一个内联或外部CSS部分(使用类似于
table.dataframe td{background color:red}
)的规则),那么我建议您这样做,而不是修改标记(尤其是使用不用于解析html复杂结构的工具)。