Я создал фрейм данных pandas и установил цвет фона для многоиндексных столбцов с помощью метода стилей. Когда я вывожу его в Jupyter, оба уровня многоиндексных столбцов имеют цвет фона. Но когда я экспортирую его по электронной почте, цвет фона отображается только на первом уровне. Есть ли способ закрасить оба уровня мультииндексных столбцов при экспорте в электронную почту?
import pandas as pd
import numpy as np
from IPython.core.display import display, HTML
dates = pd.date_range('20130101',periods=3)
columns = list("ABCD")
columns = list(zip(['HEADER'] * 4, columns))
#[('HEADER', 'A'), ('HEADER', 'B'), ('HEADER', 'C'), ('HEADER', 'D')]
columns = pd.MultiIndex.from_tuples(columns, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(3,4),index=dates,columns=columns)
styles = [{'props':[("font-family", "Calibri")]}, {
'selector': 'th',
'props': [
('background-color', 'yellow'),
('text-align','center')
]}]
s = df.style.set_table_styles(styles)
html = s.hide_index().render()
with open("html_c.html","w") as fp:
fp.write(html)
#to display in a jupyter notebook
display(HTML(html))
он правильно выводит в Jupyter ...
... но когда я экспортирую его в тело письма ...
import win32com.client as win32
#send email with html in body
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = #*email address*
mail.Subject = "HTML TEST"
mail.HTMLBody = html
mail.Send()
... я получаю этот вывод без цвета фона для индекса второго уровня столбцов:
Заранее большое спасибо за любые предложения.