使用pandas.to_html时怎么自定义表格样式
一、通过标签名设置css
样式
使用pd.to_html()
方法如果不指定文件路径,该函数会返回一个格式化的html
字符串,我们可以对这个字符串进行自定义操作,比如直接用我们设置的css
样式加上这个格式化的html
,就可以实现自定义表格样式,如下:
data = {"姓名": ["张三", "李四", "王五"], "年龄": [28, 24, 22], "城市": ["北京", "上海青浦区", "广州"]}
df = pd.DataFrame(data)
# 使用自定义边框样式将DataFrame转换为HTML
custom_css = """
<style>
table {
text-align: center;
border-collapse: collapse;
border: 2px dashed blue;
}
table th, table td {
border: 2px dashed blue;
padding: 8px;
}
</style>
"""
html_table = df.to_html(index=False, justify="center")
# 将自定义的CSS和HTML表格组合在一起
full_html = custom_css + html_table
# 打印或保存具有自定义边框样式的HTML表格
# print(full_html)
with open(r"C:\测试.html", "w", encoding="utf-8") as f:
f.write(full_html)
效果如下:
二、通过class
选择器设置css
样式
pd.to_html()
方法生成html
字符串时会自动添加一个名为dataframe
的class
类选择器,如下:
<table border="1" class="dataframe">
<thead>...</thead>
<tbody>...</tbody>
</table>
使用默认类选择器设置样式
data = {"姓名": ["张三", "李四", "王五"], "年龄": [28, 24, 22], "城市": ["北京", "上海青浦区", "广州"]}
df = pd.DataFrame(data)
# 使用自定义边框样式
custom_css = """
<style>
.dataframe {
text-align: center;
border-collapse: collapse;
border: 2px dashed blue;
}
.dataframe th, .dataframe td {
border: 2px dashed blue;
padding: 8px;
}
</style>
"""
html_table = df.to_html(index=False, justify="center")
# 将自定义的CSS和HTML表格组合在一起
full_html = custom_css + html_table
# # 打印或保存具有自定义边框样式的HTML表格
# print(full_html)
with open(r"C:\测试.html", "w", encoding="utf-8") as f:
f.write(full_html)
使用自定义类选择器设置样式
需要指定参数classes
,该参数会在html
代码中自动添加一个class
类选择器,如下:
df.to_html(classes="custom-table")
<table border="1" class="dataframe custom-table">
<thead>...</thead>
<tbody>...</tbody>
</table>
如此就可以通过自定义类名实现样式设置,如下示例:
data = {"姓名": ["张三", "李四", "王五"], "年龄": [28, 24, 22], "城市": ["北京", "上海青浦区", "广州"]}
df = pd.DataFrame(data)
# 使用自定义边框样式将DataFrame转换为HTML
custom_css = """
<style>
.custom-table {
text-align: center;
border-collapse: collapse;
border: 2px dashed blue;
}
.custom-table th, .custom-table td {
border: 2px dashed blue;
padding: 8px;
}
</style>
"""
html_table = df.to_html(classes="custom-table", index=False, justify="center")
# 将自定义的CSS和HTML表格组合在一起
full_html = custom_css + html_table
# # 打印或保存具有自定义边框样式的HTML表格
# print(full_html)
with open(r"C:\测试.html", "w", encoding="utf-8") as f:
f.write(full_html)
本文来自博客园,仅供参考学习,如有不当之处还望不吝赐教,不胜感激!转载请注明原文链接:https://www.cnblogs.com/rong-z/p/17580396.html
作者:cnblogs用户