暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python之flask框架与pandas

ICTworker 2021-08-10
2379
点击上方蓝字关注公众号,可观看更多学习资料。为防止找不到我,注意加星标

今天我们用flask加上pandas来实现excell表格读取数据然后在网页上实现数据可视化查询。

首先我们要先安装flask模块和pandas模块

    pip install flask
    pip install pandas

    接着我们创建.py文件,然后import模块:


      import flask
      import pandas as pd
      from flask import request

      接着创建app方法

        app=flask.Flask(__name__)

        接下来写路由

          @app.route("/query_grade",methods=["GET","POST"])


          定义query_grade函数:


            def query_grade():
            df=pd.read_excel("output_projectdata.xlsx")
            grade_data=pd.DataFrame()
            date_name=request.form.get("date_name","")
            if date_name:
            grade_data=df.query(f'date == %s'%date_name)
            return f"""
            <html>
            <body style="text-align:center">
            <h1>查询工作内容</h1>
            <form action="/query_grade" method="post">
            日期:<input type="text" name="date_name",value="{date_name}">
            <input type="submit" name="submit" value="查询">
            </form>
            <center> %s </center>
            </body>
            </html>
            """ % grade_data.to_html(index=False)

            我这里用pd.DataFrame()方法来读取表格数据,df.query(f'date == %s'%date_name)用来选择数据,只有符合条件的数据才会读取。


            最后执行run,这里可以指定本地ip,指定端口,使内网的人都可以访问页面,查询数据:

              if __name__== '__main__':
              app.run(host='192.168.254.25', port=8000, debug=True)

              完整源码如下:

                mport flask
                import pandas as pd
                from flask import request
                app=flask.Flask(__name__)
                @app.route("/query_grade",methods=["GET","POST"])
                def query_grade():
                df=pd.read_excel("output_projectdata.xlsx")
                grade_data=pd.DataFrame()
                date_name=request.form.get("date_name","")
                if date_name:
                grade_data=df.query(f'date == %s'%date_name)
                return f"""
                <html>
                <body style="text-align:center">
                <h1>查询工作内容</h1>
                <form action="/query_grade" method="post">
                日期:<input type="text" name="date_name",value="{date_name}">
                <input type="submit" name="submit" value="查询">
                </form>
                <center> %s </center>
                </body>
                </html>
                """ % grade_data.to_html(index=False)
                if __name__== '__main__':
                  app.run(host='192.168.254.25', port=8000, debug=True)


                最后看下效果图:




                文章转载自ICTworker,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论