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,bold_rows = True,classes = None,escape = True,max_rows = None,max_cols = None,show_dimensions = False,notebook = False,decimal ='.',border = None,table_id = None)源码
将DataFrame
呈现为HTML表格。
to_html特定选项:
bold_rows : 布尔值,默认为True
在输出中将行标签加粗
classes : str或list或tuple,默认为None
CSS类应用于生成的html表
escape : 布尔值,默认为True
将字符<
,>
和&
进行escape
编码
max_rows : int
,可选
显示的最大行数。如果为None
,则显示全部。
max_cols : int
,可选
显示的最大列数。如果为None
,则显示全部。
decimal : 字符串,默认为'.
'
字符被识别为小数分隔符,例如欧洲的',
'
版本0.18.0中的新功能。
border : int
border=border
开头<table>
标记中包含一个属性 。默认pd.options.html.border
。
版本0.19.0中的新功能。
table_id : str,可选
如果指定,则css id包含在开始<table>标记中。
版本0.23.0中的新功能。
参数: | buf:类似StringIO,可选 缓冲区写入 columns:sequence,可选 要写的列的子集; 默认为 col_space: 每列的最小宽度 header: 是否打印列标签,默认为 index: 是否打印索引(行)标签,默认为 na_rep: 要使用的NAN字符串表示,默认为' formatters:单参数函数的列表或字典,可选 formatter函数按位置或名称应用于列的元素,默认为 每个函数的结果必须是一个 float_format:单参数函数,可选 formatter函数,如果它们是浮点数,则应用于列的元素,默认为 此函数的结果必须是 sparsify:bool,可选 对于具有分层索引的 默认为 index_names: 打印索引的名称,默认为True line_width: 用字符包裹一行的宽度,默认没有换行 table_id: 由to_html创建的 版本0.23.0中的新功能。 justify: 如何证明列标签的合理性。如果 (由 可以设置的值有是
|
返回: | formatted: 字符串(或 |
例如,
import pandas as pd
import numpy as np
pd.set_option('display.width', 1000)
pd.set_option('colheader_justify', 'center')
np.random.seed(6182018)
demo_df = pd.DataFrame({'date': np.random.choice(pd.date_range('2018-01-01', '2018-06-18', freq='D'), 50),
'analysis_tool': np.random.choice(['pandas', 'r', 'julia', 'sas', 'stata', 'spss'],50),
'database': np.random.choice(['postgres', 'mysql', 'sqlite', 'oracle', 'sql server', 'db2'],50),
'os': np.random.choice(['windows 10', 'ubuntu', 'mac os', 'android', 'ios', 'windows 7', 'debian'],50),
'num1': np.random.randn(50)*100,
'num2': np.random.uniform(0,1,50),
'num3': np.random.randint(100, size=50),
'bool': np.random.choice([True, False], 50)
},
columns=['date', 'analysis_tool', 'num1', 'database', 'num2', 'os', 'num3', 'bool']
)
pd.set_option('colheader_justify', 'center') # FOR TABLE <th>
html_string = '''
<html>
<head><title>HTML Pandas Dataframe with CSS</title></head>
<link rel="stylesheet" type="text/css" href="df_style.css"/>
<body>
{table}
</body>
</html>.
'''
# OUTPUT AN HTML FILE
with open('myhtml.html', 'w') as f:
f.write(html_string.format(table=demo_df.to_html(classes='mystyle')))