Я пытаюсь отправлять автоматические электронные письма (содержащие tabled) в python, используя кадры данных pandas.Когда я генерирую HTML для таблицы и открываю ее в браузере, все отлично работает.Когда я пытаюсь отобразить тот же HTML в электронном письме, некоторые данные отсутствуют.
HTML отображается в браузере
HTML отображается в электронной почте
Это код, который я использую для создания HTML -
def csvToJinjaHTML(csvContent):
print("Pandas: Set the max_colwidth to -1 for unlimited string length")
pd.set_option("display.max_colwidth",-1)
print("Pandas: Create a Pandas table from CSV content")
pandasTable = pd.read_csv(StringIO(csvContent), index_col=False)
# pandasTable is the dataframe that we want to beautify
print(pandasTable)
stylerObject = pandasTable.style
styledHTML = (stylerObject
.set_table_attributes('border="1" class="dataframe table table-hover table-bordered"')
.set_properties(**{'font-size': '16pt', 'font-family': 'Calibri'})
# .set_properties(subset=['6', '5'], **{'width': '300px'})
.applymap(colour, subset=['ORGANIZATION'])
.set_precision(3)
.set_table_styles(
[{'selector': 'tr:nth-of-type(odd)',
'props': [('background', '#eee')]},
{'selector': 'tr:nth-of-type(even)',
'props': [('background', 'white')]},
{'selector': 'th',
'props': [('background', '#606060'),
('color', 'white'),
('font-family', 'verdana')]},
{'selector': 'td',
'props': [('font-family', 'verdana')]},
]
).hide_index()
.render()
)
with open('myJinjaTable.html', 'w') as f:
print("Writing an HTML file to view the beautified Jinja table")
f.write(styledHTML)
return styledHTML