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封装对象实现时间效果
Apr 23 Python
用Python进行一些简单的自然语言处理的教程
Mar 31 Python
Python的Flask框架的简介和安装方法
Nov 13 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python for循环生成列表的实例
Jun 15 Python
Sanic框架路由用法实例分析
Jul 16 Python
Django CBV类的用法详解
Jul 26 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
python shutil文件操作工具使用实例分析
Dec 25 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 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
weiphp微信公众平台授权设置
2016/01/04 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
javascript event 事件解析
2011/01/31 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python获取远程文件大小的函数代码分享
2014/05/13 Python
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python中获取网页状态码的两个方法
2014/11/03 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
安全责任协议书
2014/04/21 职场文书
初二学习计划书范文
2014/04/27 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书