Hướng dẫn df.to_html style - kiểu df.to_html

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

Hướng dẫn df.to_html style - kiểu df.to_html