df = pd.DataFrame({'a': np.arange(10), 'b': np.random.randn(10)})
with open('test.html', 'w') as f:
    f.write(HEADER)
f.write(df.to_html(classes='df'))
f.write(FOOTER)
Pandas Dataframes to_html: выделение строк таблицы