Pandas 'to_html
chỉ đơn giản là xuất ra một chuỗi lớn chứa đánh dấu bảng HTML.Đối số lớp là một trình xử lý tiện lợi để cung cấp cho thuộc tính lớp sẽ được tham chiếu trong tài liệu CSS được tạo trước đó tạo kiểu cho nó.Do đó, kết hợp to_html
vào bản dựng tài liệu HTML rộng hơn tham chiếu CSS bên ngoài.previously created CSS document that styles it. Therefore, incorporate to_html
into a wider HTML document build that references an external CSS. Thật thú vị, to_html
thêm các lớp kép có thể được tham chiếu trong CSS riêng lẻ, .dataframe {...} .mystyle{...}
hoặc cùng nhau ____10.Dưới đây thể hiện với dữ liệu ngẫu nhiên.
Dữ liệu
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']
]
print[demo_df.head[10]]
# date analysis_tool num1 database num2 os num3 bool
# 0 2018-04-21 pandas 153.474246 mysql 0.658533 ios 74 True
# 1 2018-04-13 sas 199.461669 sqlite 0.656985 windows 7 11 False
# 2 2018-06-09 stata 12.918608 oracle 0.495707 android 25 False
# 3 2018-04-24 spss 88.562111 sql server 0.113580 windows 7 42 False
# 4 2018-05-05 spss 110.231277 oracle 0.660977 windows 10 76 True
# 5 2018-04-05 sas -68.140295 sql server 0.346894 windows 10 0 True
# 6 2018-05-07 julia 12.874660 postgres 0.195217 ios 79 True
# 7 2018-01-22 r 189.410928 mysql 0.234815 windows 10 56 False
# 8 2018-01-12 pandas -111.412564 sql server 0.580253 debian 30 False
# 9 2018-04-12 r 38.963967 postgres 0.266604 windows 7 46 False
CSS [lưu dưới dạng df_style.css] [save as df_style.css]
/* includes alternating gray and white with on-hover color */
.mystyle {
font-size: 11pt;
font-family: Arial;
border-collapse: collapse;
border: 1px solid silver;
}
.mystyle td, th {
padding: 5px;
}
.mystyle tr:nth-child[even] {
background: #E0E0E0;
}
.mystyle tr:hover {
background: silver;
cursor: pointer;
}
Gấu trúc
pd.set_option['colheader_justify', 'center'] # FOR TABLE
html_string = '''
HTML Pandas Dataframe with CSS
{table}
.
'''
# OUTPUT AN HTML FILE
with open['myhtml.html', 'w'] as f:
f.write[html_string.format[table=demo_df.to_html[classes='mystyle']]]
Đầu ra
HTML [TÀI LIỆU THAM KHẢO df_style.css, giả sử trong cùng một thư mục; xem đối số lớp trong bảng] [references df_style.css, assumed in same directory; see class argument in table]
HTML Pandas Dataframe with CSS
date
analysis_tool
num1
database
num2
os
num3
bool
0
2018-04-21 |
pandas |
153.474246 |
mysql |
0.658533 |
ios |
74 |
True |
1
2018-04-13 |
sas |
199.461669 |
sqlite |
0.656985 |
windows 7 |
11 |
False |
2
2018-06-09 |
stata |
12.918608 |
oracle |
0.495707 |
android |
25 |
False |
3
2018-04-24 |
spss |
88.562111 |
sql server |
0.113580 |
windows 7 |
42 |
False |
4
2018-05-05 |
spss |
110.231277 |
oracle |
0.660977 |
windows 10 |
76 |
True |
...