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)[source]#
Render a DataFrame as an HTML table.
- Parameters:
- bufstr, Path or StringIO-like, optional, default None
Buffer to write to. If None, the output is returned as a string.
- columnsarray-like, optional, default None
The subset of columns to write. Writes all columns by default.
- col_spacestr or int, list or dict of int or str, optional
The minimum width of each column in CSS length units. An int is assumed to be px units..
- headerbool, optional
Whether to print column labels, default True.
- indexbool, optional, default True
Whether to print index (row) labels.
- na_repstr, optional, default ‘NaN’
String representation of
NaN
to use.- formatterslist, tuple or dict of one-param. functions, optional
Formatter functions to apply to columns’ elements by position or name. The result of each function must be a unicode string. List/tuple must be of length equal to the number of columns.
- float_formatone-parameter function, optional, default None
Formatter function to apply to columns’ elements if they are floats. This function must return a unicode string and will be applied only to the non-
NaN
elements, withNaN
being handled byna_rep
.- sparsifybool, optional, default True
Set to False for a DataFrame with a hierarchical index to print every multiindex key at each row.
- index_namesbool, optional, default True
Prints the names of the indexes.
- justifystr, default None
How to justify the column labels. If None uses the option from the print configuration (controlled by set_option), ‘right’ out of the box. Valid values are
left
right
center
justify
justify-all
start
end
inherit
match-parent
initial
unset.
- max_rowsint, optional
Maximum number of rows to display in the console.
- max_colsint, optional
Maximum number of columns to display in the console.
- show_dimensionsbool, default False
Display DataFrame dimensions (number of rows by number of columns).
- decimalstr, default ‘.’
Character recognized as decimal separator, e.g. ‘,’ in Europe.
- bold_rowsbool, default True
Make the row labels bold in the output.
- classesstr or list or tuple, default None
CSS class(es) to apply to the resulting html table.
- escapebool, default True
Convert the characters <, >, and & to HTML-safe sequences.
- notebook{True, False}, default False
Whether the generated HTML is for IPython Notebook.
- borderint
A
border=border
attribute is included in the opening <table> tag. Defaultpd.options.display.html.border
.- table_idstr, optional
A css id is included in the opening <table> tag if specified.
- render_linksbool, default False
Convert URLs to HTML links.
- encodingstr, default “utf-8”
Set character encoding.
- Returns:
- str or None
If buf is None, returns the result as a string. Otherwise returns None.
See also
to_string
Convert DataFrame to a string.
Examples
>>> 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()