python数据报表开发_面面观 | 使用python dataTable 开发股票数据报表

1,使用datatables

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

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

页面中的html:

页面中使用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的分页报表了。 非常的简单,高效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值