Render a DataFrame as an HTML table.
Buffer to write to. If None, the output is returned as a string.
The subset of columns to write. Writes all columns by default.
The minimum width of each column in CSS length units. An int is assumed to be px units..
Whether to print column labels, default True.
Whether to print index (row) labels.
String representation of NaN to use.
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.
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, with NaN being handled by na_rep.
Set to False for a DataFrame with a hierarchical index to print every multiindex key at each row.
Prints the names of the indexes.
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.
Maximum number of rows to display in the console.
Maximum number of columns to display in the console.
Display DataFrame dimensions (number of rows by number of columns).
Character recognized as decimal separator, e.g. ‘,’ in Europe.
Make the row labels bold in the output.
CSS class(es) to apply to the resulting html table.
Convert the characters <, >, and & to HTML-safe sequences.
Whether the generated HTML is for IPython Notebook.
A border=border attribute is included in the opening <table> tag. Default pd.options.display.html.border.
A css id is included in the opening <table> tag if specified.
Convert URLs to HTML links.
Set character encoding.
If buf is None, returns the result as a string. Otherwise returns None.
See also
to_stringConvert 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()
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.DataFrame.to_html.html