Я использую Pandas DataFrame и хочу показать его на html-странице, показывая как можно меньше пустого пространства.Я также использую Bootstrap 4
. Я могу добавить средства форматирования ко всем элементам столбца с помощью метода to_html
и стилей таблиц:
html = df.to_html(
formatters={'COL_NAME': lambda x: '<b>' + x + '</b>'},
classes='table table-striped df_data',
escape=False
)
ИЯ могу добавить html-элементы, а также напрямую заменить значения
html = html.replace('<th>', '<th><div><span>')
html = html.replace('</th>', '</span></div></th>')
- Есть ли чистый способ добавить эти html-элементы в заголовки?
Я делаю всеэтого, чтобы показать повернутые заголовки и сохранить место на экране, как на картинке.Я взял стили CSS с этой страницы

.df_data thead th {
height: 140px;
white-space: nowrap;
}
.df_data thead th > div {
transform: translate(25px, 51px) rotate(315deg);
width: 30px;
}
.df_data thead th > div > span {
border-bottom: 1px solid #ccc;
padding: 5px 10px;
}
Но результат далек от ожидаемого.Пространство не сохранено, а заголовки не выровнены.Что мне нужно сделать, чтобы обезопасить свободное место в колонках?Мне нужно будет забыть о стилях Bootstrap
Есть ли прямой способ добиться этого?
Любая рекомендация будет оценена по достоинству
Обновление 2019-26-02
Решение @joshmoto - хороший подход, но мне нужно адаптировать столбцы ширины, потому что я заранее не знаю содержимого ячейки (максимум 10 символов)
