zoukankan      html  css  js  c++  java
  • Excel 数据显示到网页

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

    其实 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 偶尔还是得有些许了解, 一些简单的接口还是要熟练的
  • 相关阅读:
    python IDE比较与推荐
    一个平庸程序员的想法
    [转载]Malcolm的新书:Outliers
    程序员的编辑器——VIM
    Blender网络资源
    普通人的编辑利器——Vim
    易学易用的Windows PowerShell
    分区表的修复(转)
    云南电信DNS服务器地址
    滇南本草(上)
  • 原文地址:https://www.cnblogs.com/chenjieyouge/p/12430607.html
Copyright © 2011-2022 走看看