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 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python列表去重的二种方法
Feb 14 Python
Python程序设计入门(2)变量类型简介
Jun 16 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
python批量识别图片指定区域文字内容
Apr 30 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Python程序暂停的正常处理方法
Nov 07 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
Mar 08 Python
Pytorch环境搭建与基本语法
Jun 03 Python
Python基础之pandas数据合并
Apr 27 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中函数前加&amp;符号的作用分解
2014/07/08 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
dojo 之基础篇
2007/03/24 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python实现文件名批量替换和内容替换
2014/03/20 Python
python一键升级所有pip package的方法
2017/01/16 Python
python 重定向获取真实url的方法
2018/05/11 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
Python JSON编解码方式原理详解
2020/01/20 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
影视艺术学院毕业生自荐信
2013/11/13 职场文书
工作个人的自我评价
2014/01/14 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
给领导的检讨书
2014/02/16 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android