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自动化测试实例解析
Sep 28 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
Python标准库之itertools库的使用方法
Sep 07 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
Nov 14 Python
Django实现全文检索的方法(支持中文)
May 14 Python
Django model反向关联名称的方法
Dec 15 Python
如何利用Python模拟GitHub登录详解
Jul 15 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
Python实现代码块儿折叠
Apr 15 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
Feb 25 Python
python 对图片进行简单的处理
Jun 23 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递归删除指定文件夹的方法小结
2015/04/20 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
一端时间轮换的广告
2006/06/26 Javascript
在网页里看flash的trace数据的js类
2009/01/10 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
Bootstrap Scrollspy源码学习
2017/03/02 Javascript
Vue的路由及路由钩子函数的实现
2019/07/02 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python使用marshal模块序列化实例
2014/09/25 Python
python映射列表实例分析
2015/01/26 Python
Python中encode()方法的使用简介
2015/05/18 Python
Python3计算三角形的面积代码
2017/12/18 Python
python机器学习实战之树回归详解
2017/12/20 Python
Python断言assert的用法代码解析
2018/02/03 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
Oracle性能调优原则
2012/05/03 面试题
结婚保证书范文
2014/04/29 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
合同范本之电脑出租
2019/08/13 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA