第1题
(读者自行创建,注意每行第一个逗号后面有空格),其内容示例如下:
2016/5/31 0:05, vawel001, 1, 1
2016/5/31 0:10, earpa001, 1, 1
……
第 1 列是传感器获取数据的时间,第 2 列是传感器的编号,第 3 列是传感器所在的楼层,第4 列是传感器所在的位置区域编号。
问题2.读入 earpa001.txt 文件中的数据,统计 earpa001 对应的职员在各楼层和区域出现的次数,保存到 earpa001_count.txt 文件,每条记录一行,位置信息和出现的次数之间用英文半角逗号隔开、行尾无空格、无空行。参考格式如下:
1-1,5
1-4,3
……
参考答案:
fi = open('earpa001.txt', 'r')
fo = open('earpa001_count.txt', 'w')
d = {}
for line in fi:
split_data = line.strip().split(', ')
floor_and_area = split_data[-2] + "-" + split_data[-1]
if floor_and_area in d:
d[floor_and_area] += 1
else:
d[floor_and_area] = 1
ls = list(d.items())
ls.sort(key=lambda x: x[1], reverse=True) #该语句用于排序
for i in range(len(ls)):
fo.write('{},{}\n'.format(ls[i][0], ls[i][1]))
fi.close()
fo.close()