pandas.DataFrame.to_html#

DataFrame.to_html(buf=None, *, columns=None, col_space=None, header=True, index=True, na_rep='NaN', formatters=None, float_format=None, sparsify=None, index_names=True, justify=None, max_rows=None, max_cols=None, show_dimensions=False, decimal='.', bold_rows=True, classes=None, escape=True, notebook=False, border=None, table_id=None, render_links=False, encoding=None)[源代码][源代码]#

将 DataFrame 渲染为 HTML 表格。

参数:
bufstr, Path 或 StringIO-like, 可选, 默认 None

要写入的缓冲区。如果为 None,则输出将作为字符串返回。

类似数组,可选,默认无

要写入的列的子集。默认情况下写入所有列。

col_spacestr 或 int, int 或 str 的列表或字典, 可选

每个列的最小宽度,以CSS长度单位表示。整数被假定为像素单位。

标题bool, 可选

是否打印列标签,默认为 True。

索引bool, 可选, 默认 True

是否打印索引(行)标签。

na_repstr, 可选, 默认 ‘NaN’

NaN 的字符串表示形式。

格式化工具一个参数函数的列表、元组或字典,可选

按位置或名称应用于列元素的格式化函数。每个函数的结果必须是unicode字符串。列表/元组的长度必须等于列数。

float_format单参数函数,可选,默认无

如果列元素是浮点数,则应用于列元素的格式化函数。此函数必须返回一个 Unicode 字符串,并且只会应用于非 NaN 元素,NaNna_rep 处理。

sparsifybool, 可选, 默认 True

设置为 False 以在每行打印每个多索引键的分层索引的 DataFrame。

index_namesbool, 可选, 默认 True

打印索引的名称。

对齐str, 默认 None

如何对齐列标签。如果为 None,则使用打印配置中的选项(通过 set_option 控制),开箱即用为 ‘right’。有效值为

  • left

  • 正确

  • center

  • justify

  • justify-all

  • 开始

  • 结束

  • 继承

  • match-parent

  • 初始

  • unset.

max_rowsint, 可选

在控制台中显示的最大行数。

max_colsint, 可选

控制台中显示的最大列数。

show_dimensions布尔值, 默认为 False

显示 DataFrame 的维度(行数乘以列数)。

decimalstr, 默认 ‘.’

识别为小数分隔符的字符,例如欧洲的 ‘,’。

bold_rows布尔值, 默认为 True

在输出中将行标签加粗。

str 或 list 或 tuple,默认 None

要应用于生成的 html 表格的 CSS 类。

escape布尔值, 默认为 True

将字符 <, > 和 & 转换为 HTML 安全的序列。

笔记本电脑{True, False}, 默认 False

生成的 HTML 是否用于 IPython Notebook。

borderint

在打开的 <table> 标签中包含一个 border=border 属性。默认 pd.options.display.html.border

table_idstr, 可选

如果在开始 <table> 标签中指定了,则会包含一个 css id。

render_links布尔值, 默认为 False

将URL转换为HTML链接。

编码str, 默认 “utf-8”

设置字符编码。

返回:
str 或 None

如果 buf 是 None,则以字符串形式返回结果。否则返回 None。

参见

to_string

将 DataFrame 转换为字符串。

示例

>>> df = pd.DataFrame(data={"col1": [1, 2], "col2": [4, 3]})
>>> html_string = '''<table border="1" class="dataframe">
...   <thead>
...     <tr style="text-align: right;">
...       <th></th>
...       <th>col1</th>
...       <th>col2</th>
...     </tr>
...   </thead>
...   <tbody>
...     <tr>
...       <th>0</th>
...       <td>1</td>
...       <td>4</td>
...     </tr>
...     <tr>
...       <th>1</th>
...       <td>2</td>
...       <td>3</td>
...     </tr>
...   </tbody>
... </table>'''
>>> assert html_string == df.to_html()