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调用cmd复制文件代码分享
Dec 27 Python
Python手机号码归属地查询代码
May 04 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
Python爬虫工程师面试问题总结
Mar 22 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
Python中zip()函数的简单用法举例
Sep 02 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
python基于socket函数实现端口扫描
May 28 Python
python中format函数如何使用
Jun 22 Python
Python中for后接else的语法使用
May 18 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设计模式 Bridge (桥接模式)
2011/06/26 PHP
php实现的Curl封装类Curl.class.php用法实例分析
2015/09/25 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
Vue+Vux项目实践完整代码
2017/11/30 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
一套软件测试笔试题
2014/07/25 面试题
一套比较完整的软件测试人员面试题
2012/05/13 面试题
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
庆元旦广播稿
2014/02/10 职场文书
施工安全员岗位职责
2015/04/11 职场文书
催款通知书范文
2015/04/17 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
深入浅析Redis 集群伸缩原理
2021/05/15 Redis