GOPHERSPACE.DE - P H O X Y
gophering on sdf.org
def roundTime(dt=None, roundTo=60):
   """Round a datetime object to any time laps in seconds
   dt : datetime.datetime object, default now.
   roundTo : Closest number of seconds to round to, default 1 minute.
   Author: Thierry Husson 2012 - Use it as you want but don't blame me.
   """
   if dt == None : dt = datetime.datetime.now()
   seconds = (dt.replace(tzinfo=None) - dt.min).seconds
   rounding = (seconds+roundTo/2) // roundTo * roundTo
   return dt + datetime.timedelta(0,rounding-seconds,-dt.microsecond)
  
def times10sec(startT, endT):
  retval = startT
  yield startT 
  while startT < endT:
    startT = startT + datetime.timedelta(seconds=10)
    yield startT
  
import csv
cr01 = csv.reader(open ('c:\kewoo\eai\d20171024.0930-1055.AcurityConnector.csv'))
 
simul = {}
 
for i in cr01:
  startT = roundTime(datetime.datetime.strptime(i[4],"%Y-%m-%d %H:%M:%s"))
  endT = roundTime(datetime.datetime.strptime(i[5],"%Y-%m-%d %H:%M:%s"))
  for j in times10sec(startT, endT):
    if j in simul:
      simul[j] = simul[j] + 1
    else:
      simul[j] = 0
  if endT in simul:
    simul[endT] = simul[endT] - 1
  else:
    simul[endT] = 0
           
           
           
  #if i[3] == '0':
  #  endT = roundTime(datetime.datetime.strptime(i[5],"%Y-%m-%d %H:%M:%s"))
  #else:
  #  endT = roundTime(datetime.datetime.strptime(i[5],"%Y-%m-%d %H:%M:%s")) +  datetime.timedelta(seconds=65)
 
for x in simul.iteritems():
  print str(x[0]), ", ", x[1]