python 时间格式按年月分组_python – 按时间间隔对消息进行分组

我目前正在尝试按1秒的时间间隔对发送的消息进行分组.我正在用这个计算时间延迟:

def time_deltas(infile):

entries = (line.split() for line in open(INFILE, "r"))

ts = {}

for e in entries:

if " ".join(e[2:5]) == "T out: [O]":

ts[e[8]] = e[0]

elif " ".join(e[2:5]) == "T in: [A]":

in_ts, ref_id = e[0], e[7]

out_ts = ts.pop(ref_id, None)

yield (float(out_ts),ref_id[1:-1],(float(in_ts)*1000 - float(out_ts)*1000))

INFILE = 'C:/Users/klee/Documents/test.txt'

import csv

with open('test.csv', 'w') as f:

csv.writer(f).writerows(time_deltas(INFILE))

但是,我想计算每秒发送的“T in:[A]”消息的数量,并且一直在尝试使用它来执行此操作:

import datetime

import bisect

import collections

data=[ (datetime.datetime(2010, 2, 26, 12, 8, 17), 5594813L),

(datetime.datetime(2010, 2, 26, 12, 7, 31), 5594810L),

(datetime.datetime(2010, 2, 26, 12, 6, 4) , 5594807L),

]

interval=datetime.timedelta(seconds=50)

start=datetime.datetime(2010, 2, 26, 12, 6, 4)

grid=[start+n*interval for n in range(10)]

bins=collections.defaultdict(list)

for date,num in data:

idx=bisect.bisect(grid,date)

bins[idx].append(num)

for idx,nums in bins.iteritems():

print('{0} --- {1}'.format(grid[idx],len(nums)))

(我意识到单位会因我想要的而关闭,但我只是在考虑一般的想法……)

到目前为止,我大部分时间都没有成功,并希望得到任何帮助.

也,

数据显示为:

082438.577652 - T in: [A] accepted. ordID [F25Q6] timestamp [082438.575880] RefNumber [6018786] State [L]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值