前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将pandas数据显示到现有的flask html表中

将pandas数据显示到现有的flask html表中

作者头像
赵云龙龙
发布2020-12-15 10:14:39
4.2K0
发布2020-12-15 10:14:39
举报
文章被收录于专栏:python爱好部落

1.2 连接至数据库

代码语言:javascript
复制
import pymssql
conn = pymssql.connect(server="xxx.xxx.xxx.xxx",user="xxx",password="xxx",database="xxx")
    这里,server为数据库服务器名称或IP,user为用户名,password为密码,database为数据库名称。

2 pandas读写数据库 在python连接好数据库后,pandas可以利用read_sql()方法将数据读入DataFrame。这里可以看一下代码。

代码语言:javascript
复制
import pandas as pd
#这里即遵循sql语句规则
sql = "select * from 要查询的表格"
df0 = pd.read_sql(sql,conn)
df=pd.DataFrame(df0)

pandas的表展现在flask html中

代码语言:javascript
复制
from flask import Flask, request, render_template, session, redirect
import numpy as np
import pandas as pd


app = Flask(__name__)

df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
                   'B': [5, 6, 7, 8, 9],
                   'C': ['a', 'b', 'c--', 'd', 'e']})


@app.route('/', methods=("POST", "GET"))
def html_table():

    return render_template('simple.html',  tables=[df.to_html(classes='data', header="true")])



if __name__ == '__main__':
    app.run(host='0.0.0.0')

页面里简单加一个for就可以了

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{% for table in tables %}
            {{ table|safe }}
{% endfor %}
</body>
</html>

现在加入数据库:

代码语言:javascript
复制
import pymssql
@app.route('/db', methods=("POST", "GET"))
def html_table():
    conn = pymssql.connect(server="10.179.236.72", user="BOSTON\qa.testauto", password="test@456",
                           database="TestAutomation")

    sql = """  select top 20 environment,member_id,username, JSON_VALUE(detail,'$.level_code') as level,JSON_VALUE(detail,'$.partner') as partner,tags, created_by,created_on from ec_test_accounts
      where environment='UAT'
      and JSON_VALUE(detail,'$.partner')='Cehk'
      and JSON_VALUE(detail,'$.level_code')='0A'

      order by created_on desc
      """
    df0 = pd.read_sql(sql, conn)
    df = pd.DataFrame(df0)

    return render_template('simple.html',  tables=[df.to_html(classes='data', header="true")])



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

展现结果如下:

pandas 如何直接转化成html. pandas中有方法to_html 如下的例子是将excel的数据,转化成html

代码语言:javascript
复制
#!/usr/bin/env Python
# coding=utf-8
import pandas as pd
import codecs
xd = pd.ExcelFile('/Users/wangxingfan/Desktop/1.xlsx')
df = xd.parse()
with codecs.open('/Users/wangxingfan/Desktop/1.html','w','utf-8') as html_file:
 html_file.write(df.to_html(header = True,index = False))

或者可以改写一下html.

代码语言:javascript
复制
import pandas as pd
import numpy as np
pd.set_option('display.width', 1000)
pd.set_option('colheader_justify', 'center')
np.random.seed(6182018)
demo_df = pd.DataFrame({'date': np.random.choice(pd.date_range('2018-01-01', '2018-06-18', freq='D'), 50),
                       },
                        columns=['date', 'analysis_tool', 'num1', 'database', 'num2', 'os', 'num3', 'bool']
          )
pd.set_option('colheader_justify', 'center')   # FOR TABLE <th>
html_string = '''
<html>
  <head><title>HTML Pandas Dataframe with CSS</title></head>
  <link rel="stylesheet" type="text/css" href="df_style.css"/>
  <body>
    {table}
  </body>
</html>.
'''
# OUTPUT AN HTML FILE
with open('myhtml.html', 'w') as f:
    f.write(html_string.format(table=demo_df.to_html(classes='mystyle')))

这样就很方便的操作html了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python粉丝团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档