Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)
Posted 蚂蚁小兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)相关的知识,希望对你有一定的参考价值。
📘前言
- 🍅 平时在做数据处理时,会经常用到Pandas 处理表格,产生的数据虽然可以保存到表格或者html,但是都不美观
但是前端我也只了解一点皮毛,做不出来美观的页面,但是我们可以从网上找一些美观的模板,然后借用Python mako 库,将Pandas DataFrame数据保存到HTML文件中。
目录
📙 各种炫酷的表格页面网站
🍅 网站(1)
-
下面时部分截图
🍅 网站(2)
-
下面时部分截图
🍅 网站(3)
-
下面时部分截图
📙 代码
🍅 Python Mako 库
-
因为用到了Python Mako 库,所以,有必要了解下这个库
-
Mako 是Python语言的一个模板处理库.
-
它能提供编译为常见的非XML语法的高性能的Python模块.
-
Mako 的语法及API融合了很多模块系统的亮点, 如常用的 Django, Cheetah, Myghty, Genshi等等.
-
从概念上讲, Mako 属于一种内嵌Python语言(如Python的服务端页面). 这样模板开发者精确的想法布局实现及简单而直接地继承. 模式灵活同时还保证了与应用与Python的调用及语义的紧密联系.
-
提供两个学习mako库的不错博客:
-
https://www.wenjiangs.com/article/python-mako-template-language.html
🍅 代码
- index.html 和 style.css是我从网站上下载的 模板表格页面,然后拷贝出来的,index_mako.html是更改成mako 语法之后的
- index_mako.html的内容更改之后的
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>CodePen - Pure CSS Table Highlight (vertical & horizontal)</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<!-- partial:index.partial.html -->
<div class="container" >
<table>
<thead>
<tr>
% for column in py_object.columns:
<th>$column</th>
%endfor
</tr>
</thead>
<tbody>
% for row_list in py_object.data.values.tolist():
<tr>
% for cell_value in row_list:
<td>$cell_value</td>
%endfor
</tr>
%endfor
</tbody>
</table>
</div>
<!-- partial -->
</body>
</html>
- python 脚本
import pandas as pd
import numpy as np
from mako.template import Template
def gen_report_html(temp_file, input_object, output_file):
t = Template(filename=temp_file, input_encoding='utf-8', output_encoding='utf-8')
genStr = t.render(py_object=input_object)
with open(output_file, 'wb') as f:
print('Writing %s' % output_file)
f.write(genStr)
class MakoTest(object):
def __init__(self):
self.columns = ['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5', 'Column 6', 'Column 7']
self.data = pd.DataFrame(np.random.randint(1,100,size=(30,7)),columns= self.columns )
print(self.data)
def test_func(self):
print("test_func")
if __name__ == '__main__':
M = MakoTest()
gen_report_html("index_mako.html", M, "index_mako_out.html")
以上是关于Pandas DataFrame 保存到HTML文件(附炫酷 HTML Table 模板网站)的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas Dataframe 另存为 HTML 页面
pandas - 如何仅将 DataFrame 的选定列保存到 HDF5
在 Python 中将函数输出(包括 pandas DataFrame)保存到工作区
如何将本地 csv 文件的内容保存到“硬编码”Pandas DataFrame 中?