Python统计时间内的并发数代码实例


Posted in Python onDecember 28, 2019

这篇文章主要介绍了Python统计时间内的并发数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python实现并发的手段:

1、操作系统提供:进程、线程;

2、编程语言提供:协程:用户空间的调度(py3);

# coding:utf-8

# 1.导入模块
# datatime模块用于定义时间及时间的加减操作
# MySQLdb模块用于Python2.0连接数据库,Python3.0连接数据库使用pymysql
# xlwt模块是excel操作模块,用于将数据写入excel中

import datetime
import MySQLdb
import xlwt

# 2.连接数据库,获取数据
# MySQLdb.connect用于定义连接数据库的属性
# myconn.cursor()定义游标对象
# query_sql定义查询的语句
# mycursor.execute()执行查询语句,仅仅是执行语句,不输出结果。
# mycursor.fetchall()提取查询数据。all全部数据,one单条数据,many取多少条数据。fetchmany(10)取10条数据。
# mycursor.close()关闭游标
# myconn.close()关闭连接

myconn = MySQLdb.connect(host='1',user='wn',passwd='9eu',db='bs',charset='utf8')
mycursor = myconn.cursor()
query_sql = '''
select JOIN_TIME,LEAVE_TIME from commfee where JOIN_TIME between '2019-12-24 15:00:00' and '2019-12-24 15:30:00' 
'''

mycursor.execute(query_sql)
sql_result = mycursor.fetchall()
mycursor.close()
myconn.close()

# 3.定义全局参数
# sum1 = []定义列表sum1,sum1用于生成比较的时间列表
# sum2 = []定义列表sum2,sum2用于生成并发数的列表

sum1 = []
sum2 = []

# 4.定义数据筛选函数
# compare_time 比较时间,最开始值取开始时间的第一个值。
# start_time = [sql_result[i][0] for i in range(0,len(sql_result))]将查询到的结果拆分为两个列表start_time和end_time。
# compare_time < start_time[len(sql_result)-1],compare_time时间和start_time列表中的时间比较
# compare_time += datetime.timedelta(seconds=1),每次比较后,compare_time时间+1
# datetime.timedelta(seconds=1),timedelta(seconds=1)时间变化1s
# sum1.append(compare_time),将得到的compare_time写入sum1列表中。

def query_data():
  compare_time = sql_result[0][0]
  start_time = [sql_result[i][0] for i in range(0,len(sql_result))]   
  end_time = [sql_result[i][1] for i in range(0,len(sql_result))]
  while compare_time < start_time[len(sql_result)-1]:
     compare_time += datetime.timedelta(seconds=1)     
     count1 = 0     
     count2 = 0
     for time1 in start_time:      
       if time1 <= compare_time:         
         count1 = count1 + 1         
     for time2 in end_time:              
       if time2 <= compare_time:          
         count2 = count2 - 1         
     sum1.append(compare_time)     
     sum2.append(count1+count2)

# 5.定义excel操作函数
# xlwt.Workbook(encoding='utf-8')定义编码格式
# wbk.add_sheet('My worksheet')定义操作的sheet表
# xlwt.XFStyle()定义单元格格式
# datastyle.num_format_str = 'yyyy-mm-dd hh:mm:ss'定义单元格中数据格式
# worksheet.write(row,0,sum1[row],datastyle) 按定义的格式写入数据
# wbk.save()保存操作的excel表格。

def re_sheet():      
  wbk = xlwt.Workbook(encoding='utf-8')
  worksheet = wbk.add_sheet('My worksheet')
  datastyle = xlwt.XFStyle()
  datastyle.num_format_str = 'yyyy-mm-dd hh:mm:ss'
  for row in range(0,len(sum1)):    
     worksheet.write(row,0,sum1[row],datastyle)     
     worksheet.write(row,1,sum2[row])     
  wbk.save('Concurrency.xls')  
query_data()   
re_sheet()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
Python排序搜索基本算法之堆排序实例详解
Dec 08 Python
Python多进程写入同一文件的方法
Jan 14 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
python 采用paramiko 远程执行命令及报错解决
Oct 21 Python
python中for循环变量作用域及用法详解
Nov 05 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
Dec 31 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
Python实现壁纸下载与轮换
Oct 19 Python
如何基于python实现脚本加密
Dec 28 #Python
python使用配置文件过程详解
Dec 28 #Python
python正则表达式匹配IP代码实例
Dec 28 #Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 #Python
python爬虫添加请求头代码实例
Dec 28 #Python
python使用rsa非对称加密过程解析
Dec 28 #Python
Python遍历字典方式就实例详解
Dec 28 #Python
You might like
php 什么是PEAR?
2009/03/19 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
代码生成器 document.write()
2007/04/15 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
浅析return false的正确使用
2013/11/04 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
js实现二级导航功能
2017/03/03 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
django+mysql的使用示例
2018/11/23 Python
PyQt5实现简易计算器
2020/05/30 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
雏鹰争章活动总结
2014/05/09 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书
品牌推广策划方案
2014/05/28 职场文书
招标保密承诺书
2015/01/20 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书