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.cnblogs.com/kylin5201314/p/16046161.html

  • 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 &amp; 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 中?

一篇博文教你玩转pandas,轻松应付办公场景(机器学习基础)

如何有效地将 Pandas Dataframe 保存到一个/多个 TFRecord 文件中?