PythonStock(4):使用pyt

发布时间:2019-07-23 09:41:46编辑:auto阅读(1741)

    前言


    使用Python开发一个股票项目。
    项目地址:
    https://github.com/pythonstock/stock
    相关资料:
    http://blog.csdn.net/freewebsys/article/category/7076584
    主要使用开发语言是python。
    使用的lib库是pandas,tushare,TensorFlow,tornado等。

    本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/77047127 未经博主允许不得转载。
    博主地址是:http://blog.csdn.net/freewebsys

    1,使用datatables


    datatables 是一个js的lib库,主要是做表格的数据显示。
    是ajax的方式,在jquery 的排名算比较高的。

    官网网站:
    https://datatables.net/

    2,数据显示带分页


    页面中的html:

    <table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Extn.</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </thead>
        </table>

    页面中使用js:配置菜单分页数量和ajaxurl地址。

    $(document).ready(function() {
        $('#example').DataTable( {
            "ajax": '../ajax/data/arrays.txt',
            "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]]
        } );
    } );

    ajax的数据是:

    {
      "data": [
        [
          "Tiger Nixon",
          "System Architect",
          "Edinburgh",
          "5421",
          "2011/04/25",
          "$320,800"
        ],
        ......
     ]
    }

    3,结合python实现服务端


    获得股票数据,查询股票数据表。
    解析dataTable 的start和lenght两个参数。
    然后进行数据库分页查询。

    # 获得股票数据内容。
    class GetStockDataHandler(BaseHandler):
        def get(self):
            self.set_header('Content-Type', 'application/json;charset=UTF-8')
            # print(self.request.arguments.items())
            # 获得分页参数。
            start_param = self.get_argument("start", default=0, strip=False)
            length_param = self.get_argument("length", default=10, strip=False)
            print("page param:", length_param, start_param)
    
            name_param = self.get_argument("name", default=None, strip=False)
            stock_web = stock_web_dic.STOCK_WEB_DATA_MAP[name_param]
    
            print("stockWeb :", stock_web)
            order_by_sql = ""
            # 增加排序。
            if stock_web.order_by != "":
                order_by_sql = "  ORDER BY " + stock_web.order_by
            # 查询数据库。
            sql = " SELECT * FROM %s %s LIMIT %s,%s " % (stock_web.table_name, order_by_sql, start_param, length_param)
            print("select sql :", sql)
            stock_web_list = self.db.query(sql)
            stock_web_size = self.db.query(" SELECT count(1) as num FROM " + stock_web.table_name)
            print("stockWebList size :", stock_web_size)
    
            obj = {
                "draw": 0,
                "recordsTotal": stock_web_size[0]["num"],
                "recordsFiltered": stock_web_size[0]["num"],
                "data": stock_web_list
            }
            self.write(json.dumps(obj))

    使用 select * 查询数据,使用select count(1) 查询总数据。
    然后组装成json数据返回。

    然后就完成了股票数据的查询。

    查询存款利率:

    查询存款准备金:

    查询货币供应量:

    4,总结


    数据报表是统计系统的基础,使用最流行的dataTable可以完成一个数据报表的开发。
    只要实现ajax 方法就可以做一个ajax的分页报表了。
    非常的简单,高效。

    本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/77047127 未经博主允许不得转载。
    博主地址是:http://blog.csdn.net/freewebsys

关键字