阅读以下题目,分别对应两个问题,实现以下功能: 下面所示为一套由海员随身佩戴的位置传感器采集的数据,其内容示例如下: 2016/5/31 0:05, vawelon001, 1, 1 2016/5/31 0:20, earpa001,3,4 2016/5/31 2:26, earpa001,2,1 2016/5/31 0:25, earpa002,4,2 2016/5/31 2:27, earpa004,5, 6 2016/5/31 0:09, vawelon002, 1, 1 2016/6/1 2:26, earpa003,7, 2 2016/6/13 7:26, earpa001,6,2 2016/6/31 10:05, vawelon002, 2, 1 第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的位置区域编号,第四列是传感器所在的楼层。 问题1: 用Python创建的“info.txt”文件,并将给出的数据输入并写入新创建的文件中,之后提取出传感器编号为earpa00的所有数据,将结果输出保存到“earpa001. txt”文件。输出文件格式要求:原数据文件中的每行记录写入新文件中,行尾无空格,无空行。参考格式如下: 2016/5/31 7:11, earpa001,2, 4 2016/5/31 8:02, earpa001,3, 4 2016/5/31 9:22, earpa001,3,4 问题2 :读入“earpa001. txt” 文件中的数据,统计earpa001对应的职员在各楼层和区域出现的次数,保存到“earpa001_count. txt” 文件,每条记录一行,位置信息和出现的次数之间用英文半角逗号隔开,行尾无空格,无空行。参考格式如下。 2-5,1 1-3,4 含义如下: 第1行“2-5,1”中1-1表示2号区域的5楼,5表示出现5次; 第2行“1-3,4”中1-4表示1号区域的3楼,3表示出现3次;
时间: 2023-05-27 12:03:51 浏览: 55
问题1:
```python
with open('info.txt', 'w') as f:
f.write('2016/5/31 0:05, vawelon001, 1, 1\n')
f.write('2016/5/31 0:20, earpa001,3,4\n')
f.write('2016/5/31 2:26, earpa001,2,1\n')
f.write('2016/5/31 0:25, earpa002,4,2\n')
f.write('2016/5/31 2:27, earpa004,5,6\n')
f.write('2016/5/31 0:09, vawelon002, 1, 1\n')
f.write('2016/6/1 2:26, earpa003,7,2\n')
f.write('2016/6/13 7:26, earpa001,6,2\n')
f.write('2016/6/31 10:05, vawelon002, 2, 1\n')
with open('info.txt', 'r') as f1, open('earpa001.txt', 'w') as f2:
for line in f1:
if 'earpa001' in line:
f2.write(line)
```
问题2:
```python
location_dict = {} # 定义字典记录位置信息和次数
with open('earpa001.txt', 'r') as f:
for line in f:
line = line.strip().split(',')
location = line[2] + '-' + line[3]
if location in location_dict:
location_dict[location] += 1
else:
location_dict[location] = 1
with open('earpa001_count.txt', 'w') as f:
for location, count in location_dict.items():
f.write(location + ',' + str(count) + '\n')
```