python - 以与 Jupyter Notebook 相同的样式将 pandas 数据框呈现为 HTML
问题描述
我想以与 Jupyter Notebook 相同的方式将 pandas 数据框呈现为 HTML,即所有的花里胡哨,如漂亮的样式、列突出显示和单击时的列排序。
pandas.to_html只输出一个普通的 HTML 表格,需要手动样式等。
jupyter 使用的数据帧渲染代码是否可用作可在任何 Web 应用程序中使用的独立模块?
此外,js/css 文件等资产是否与 jupyter 解耦,以便它们可以轻松重用?
解决方案
这对我很有效
def getTableHTML(df):
"""
From https://stackoverflow.com/a/49687866/2007153
Get a Jupyter like html of pandas dataframe
"""
styles = [
#table properties
dict(selector=" ",
props=[("margin","0"),
("font-family",'"Helvetica", "Arial", sans-serif'),
("border-collapse", "collapse"),
("border","none"),
# ("border", "2px solid #ccf")
]),
#header color - optional
# dict(selector="thead",
# props=[("background-color","#cc8484")
# ]),
#background shading
dict(selector="tbody tr:nth-child(even)",
props=[("background-color", "#fff")]),
dict(selector="tbody tr:nth-child(odd)",
props=[("background-color", "#eee")]),
#cell spacing
dict(selector="td",
props=[("padding", ".5em")]),
#header cell properties
dict(selector="th",
props=[("font-size", "100%"),
("text-align", "center")]),
]
return (df.style.set_table_styles(styles)).render()
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
getTableHTML(iris)
推荐阅读
- spring-boot - SpringBoot - 使用 oAuth2 clientId 结合用户凭据进行身份验证
- ajax - WordPress:预生产中出现 404 axios 错误,但在本地没有
- javascript - WebPack - 动态导入解决方法或解决方案
- javascript - onclick/Button 在 Javascript/HTML 中不起作用
- spring-boot - 如何使用单独的 DLT 处理程序配置 2 RetryTopicConfiguration
- sql - LAST_VALUE 和 FIRST_VALUE
- android - Android Studio 任务:app:kaptGenerateStubsDevDebugKotlin
- c# - 动态调整列大小以适应 WPF 中的 DataGrid
- mongodb - 如何在聚合中使用 MongoDB $in
- php - 我的“WooCommerce 产品自定义排序功能”使 Wordpress Dashbord 中的帖子/页面崩溃