跟踪fi上的列过滤

2024-05-12 22:38:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对从ns-2生成的跟踪文件进行可视化分析,该文件跟踪在模拟的不同时间发送/接收/丢弃的数据包

以下是跟踪输出的示例-http://pastebin.com/aPm3EFax

我想在将column1单独分组到S/D/R之后过滤掉它,这样我就可以将它分别加起来,以得到包传递分数。在

我不知道该怎么做?(也许有一些awk/python帮助?)在

更新:好吧,我这么做了-

cut -d' ' -f1 wireless-out.tr | grep <x> | wc -l

其中<x>s或{}或{}


Tags: 文件comhttp示例可视化时间数据包分数
3条回答
import collections
result=collections.defaultdict(list)
with open('data','r') as f:
    for line in f:
        line=line.split()
        key=line[0]
        value=float(line[1])
        result[key].append(value)
for key,values in result.iteritems():
    print(key,sum(values))

产量:

^{pr2}$

这和你想要的格式接近吗?在

试试看:

awk '{data[$1]+=$2} END{for (d in data) print d,data[d]}' inputfile

输出:

^{pr2}$
import csv
import itertools

data =  csv.reader(open('aPm3EFax.txt', 'rb'), delimiter=' ')

result = [(i, sum(float(k[1]) for k in g)) 
 for i, g in itertools.groupby(sorted(list(data)), key=lambda x: x[0])]

相关问题 更多 >