学堂 学堂 学堂公众号手机端

Excel 数据显示到网页

lewis 12个月前 (05-14) 阅读数 22 #技术

以flask 为后台, 将excel 转为 html 做网页展示.

平时的, 数据分析过程, 会涉及很多表或者, 计算过程嘛, 有的时候, 需要将数据表啥的给同事查看和共享一下, 直接发送, 似乎不够优雅. 直接展示在网页往, 共小伙伴们查看和下载, 不就很香嘛.

其实 Excel 只是个噱头, 怎么可能用 Excel 分析数据, 不存在的, 必须是 pandas 呀. 其实就是将 DataFrame 给 渲染 到 网页而已. 而这里涉及 web, 则用下 flask, 几行代码就搞定了呀.


需求将excel 表格显示在网页上在局域网内能实现共享实现

能显示网页, 能共享, 不就是一个弄个 web 就好了呀. 这里用 pandas 来读取数据, 核心是用 DataFrame 的 to_html 结合 flask 来显示网页.

展示数据以经典的 超市数据为例, 显示前50行吧, 这里只是一个简化版, 主要是为了说明思路哦.

超市数据, 是 Tableau 自带的测试数据集, Tableau 是我目前做可视化的主要工具, 就用它.

import pandas as pd
import flask

file_path = "D:/test_data/示例 - 超市.xls"
app = flask.Flask(__name__)


@app.route("/")
def show_excel():
"""将excel展示网页"""
df = pd.read_excel(file_path).head(50)

# TODO: 这里可以写对数据的处理哦

data_html = df.to_html()
return f"""
<html>
<body>
<h3>Tableau 实例的 "超市" 数据集 </h3>
</div>{data_html}</div>
</body>
</html>
"""


if __name__ == '__main__':
app.run(host='0.0.0.0') # 让其他ip也能访问

然后打开网页, 本机测一下, 输入 127.0.0.1:5000 回车即可看到网页效果. (flask 默认端口是 5000)

功能完成!

但样式有些丑, 可以尝试改下前端, 这里我就不弄了, 主要是目前不想弄前端, 调格式是真的有些烦.

小结实现就是将 excel 呀 pandas 读取为 DataFrame, 然后转为 html 用 flask 作为后台.核心方法是 to_html(), 再此之前可有数据处理的过程, 渲染前也可以该前端进行表格优化web 偶尔还是得有些许了解, 一些简单的接口还是要熟练的

耐心和恒心, 总会获得回报的.



版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门