-2

我有一个包含 3 列的文本文件,第一列有字符串,第二列有整数,第三列有浮点数,如下所示:

steve   134     0.000010

Harry   133 0.000012

joanne  134 0.000022

steve   135 0.000024

joanne  133 0.000045

steve   133 0.000078

joanne  133 0.000079    

joanne  133 0.000081    

joanne  136 0.000083

steve   134 0.000085

steve   135 0.000087

我想要如下所示的输出:

steve   134(count=2,Time interval=0.000085-0.000010),133(count=1,Time interval=0.000078-0.000000),135(count=2,Time interval=0.000087-0.000024),136(count=0, Time interval=0.000000-0.000000)

harry   134(count=0, Time interval),133(count=1, Time interval),135(count=0, Time interval),136(count=0, Time interval)

joanne  134(count=1, Time interval),133(count=3, Time interval),135(count=0, Time interval),136(count=1, Time interval) 

[harry 和 joanne 的时间间隔计算方法与 steve 相同]。

基本上,如果我选择 steve,我必须计算每个 steve 有多少个 133,134,135,136 条目,以及 133,134,135,136 发生在什么时间间隔内。我希望你们能得到我的询问。

4

1 回答 1

0

这应该让你开始

>>> from collections import defaultdict
>>> names = defaultdict(list)
>>> with open('f.txt') as f:
...    lines = [l.split() for l in f.readlines() if l.strip()]
...    for l in lines:
...      names[l[0]].append([l[1],l[2]])
>>> for i in names.iteritems():
...    print i
... 
('steve', [['134', '0.000010'], ['135', '0.000024'], ['133', '0.000078'], ['134', 
'0.000085'], ['135', '0.000087']])
('joanne', [['134', '0.000022'], ['133', '0.000045'], ['133', '0.000079'], ['133', '0.000081'], ['136', '0.000083']])
('Harry', [['133', '0.000012']])
于 2012-05-23T17:55:29.473 回答