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 偶爾還是得有些許了解, 一些簡單的接口還是要熟練的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM