<p>您可以通过自定义函数创建样式的DataFrame,该函数具有比较列,并首先在<a href="https://numpy.org/doc/stable/reference/generated/numpy.where.html" rel="nofollow noreferrer">^{<cd1>}</a>中设置这些列,然后传递到<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.io.formats.style.Styler.apply.html" rel="nofollow noreferrer">^{<cd2>}</a>,最后使用<code>file.write</code>函数写入文件:</p>
<pre><code>def fnToColorRed(x):
c1 = 'color: red'
c2 = 'color: black'
# condition
m = x[['C3','C4']].to_numpy() != x[['C5','C6']].to_numpy()
#print (m)
#empty DataFrame of styles
df1 = pd.DataFrame('', index=x.index, columns=x.columns)
#set new columns by condition
df1[['C3','C4']] = np.where(m, c1, c2)
df1[['C5','C6']] = np.where(m, c1, c2)
return df1
</code></pre>
<p>然后可以指定一些css:</p>
<pre><code>css = [
{
'props': [
('border-collapse', 'collapse')]
},
{
'selector': 'th',
'props': [
('border-color', 'black'),
('border-style ', 'solid'),
('border-width','1px')]
},
{
'selector': 'td',
'props': [
('border-color', 'black'),
('border-style ', 'solid'),
('border-width','1px')]
}]
</code></pre>
<hr/>
<pre><code>style=df.style.apply(fnToColorRed, axis=None).set_table_styles(css)
with open("my.html", "w") as file:
file.write(style.render())
</code></pre>