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 使用SMTP发送邮件的代码小结
Sep 21 Python
实现python版本的按任意键继续/退出
Sep 26 Python
python处理按钮消息的实例详解
Jul 11 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
python中单例常用的几种实现方法总结
Oct 13 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
python3 实现调用串口功能
Dec 26 Python
python实现引用其他路径包里面的模块
Mar 09 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
Python实现学生管理系统(面向对象版)
Jun 24 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取整的几种方式
2013/06/25 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
在Python中使用__slots__方法的详细教程
2015/04/28 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
python学生管理系统
2019/01/30 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
汽车驾驶求职信
2013/10/25 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
孔庙导游词
2015/02/04 职场文书
学生逃课检讨书
2015/02/17 职场文书
正规借条模板
2015/05/26 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
python 多态 协议 鸭子类型详解
2021/11/27 Python