Метод to_html
Метод to_html применяется к DataFrame
и возвращает строку с HTML-кодом таблицы.
Это удобно для встраивания данных в веб-страницы или
отчёты. Метод имеет множество параметров для настройки
внешнего вида таблицы, включая форматирование чисел,
пропуск пустых значений, ограничение количества строк.
Синтаксис
df.to_html([buf], [columns], [col_space], [header], [index], [na_rep],
[formatters], [float_format], [sparsify], [index_names], [justify],
[max_rows], [max_cols], [show_dimensions], [decimal], [bold_rows],
[classes], [escape], [notebook], [border], [table_id])
Пример
Преобразуем таблицу в HTML-код с параметрами по умолчанию:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.to_html()
print(res)
Результат выполнения кода:
"<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>10</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2</td>\n <td>20</td>\n </tr>\n <tr>\n <th>2</th>\n <td>3</td>\n <td>30</td>\n </tr>\n <tr>\n <th>3</th>\n <td>4</td>\n <td>40</td>\n </tr>\n <tr>\n <th>4</th>\n <td>5</td>\n <td>50</td>\n </tr>\n </tbody>\n</table>"
Пример
Ограничим количество выводимых строк параметром max_rows:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.to_html(max_rows=3)
print(res)
Результат выполнения кода:
"<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>10</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2</td>\n <td>20</td>\n </tr>\n <tr>\n <th>2</th>\n <td>3</td>\n <td>30</td>\n </tr>\n </tbody>\n</table>"
Пример
Изменим формат чисел и заменим отсутствующие значения:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, 2, np.nan, 4, 5],
'b': [10.123, 20.456, 30.789, 40.111, 50.555]
})
res = df.to_html(float_format="%.2f", na_rep="-")
print(res)
Результат выполнения кода:
"<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1.00</td>\n <td>10.12</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2.00</td>\n <td>20.46</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-</td>\n <td>30.79</td>\n </tr>\n <tr>\n <th>3</th>\n <td>4.00</td>\n <td>40.11</td>\n </tr>\n <tr>\n <th>4</th>\n <td>5.00</td>\n <td>50.56</td>\n </tr>\n </tbody>\n</table>"
Пример
Добавим CSS-классы для стилизации таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.to_html(classes=["table", "table-striped", "table-hover"])
print(res)
Результат выполнения кода:
"<table border="1" class="dataframe table table-striped table-hover">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>a</th>\n <th>b</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>10</td>\n </tr>\n <tr>\n <th>1</th>\n <td>2</td>\n <td>20</td>\n </tr>\n <tr>\n <th>2</th>\n <td>3</td>\n <td>30</td>\n </tr>\n <tr>\n <th>3</th>\n <td>4</td>\n <td>40</td>\n </tr>\n <tr>\n <th>4</th>\n <td>5</td>\n <td>50</td>\n </tr>\n </tbody>\n</table>"
Смотрите также
-
метод
to_string,
который преобразует таблицу в строковое представление -
метод
to_csv,
который сохраняет таблицу в CSV-формат -
метод
to_json,
который преобразует данные в JSON-формат -
метод
to_markdown,
который выводит таблицу в Markdown-разметке