PythonStock(4):使用pyt

2023-01-31 01:01:41 pyt PythonStock

前言


使用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

相关文章