当前位置: 首页 > news >正文

python —— 真二

下面所示为xx套由公司职员随身佩戴的位置传感器采集的数据,文件名称为"sensor.txt",其内容示例如下:

2016/5/31 0:05, vawelon001,1,1
2016/5/31 0:20, earpa001,1,1
2016/5/31 2:26, earpa001,1,6

...

第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,

第四列是传感器所在的位置区域编号。

问题一. 读入sensor.txt文件中的数据,提取出传感器编号为earpa001的所有数据,将结果输出保存到"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

f = open('C:\\Users\\Administrator\\Desktop\\sensor.txt','r',encoding='utf-8')
fo = open('C:\\Users\\Administrator\\Desktop\\earpa001.txt','w')ls = f.readlines()
for line in ls:lt = line.strip('\n').split(',')if lt[1] == ' earpa001':fo.write('{},{},{},{}\n'.format(lt[0],lt[1],lt[2],lt[3]))f.close()
fo.close()

文件读取:

f.read():从文件中读入整个文件内容

f.readline():从文件中读入一行内容

f.readlines():从文件中读入所有行,以每行为元素形成一个列表

文件及打开方式:

<变量名> = open(<文件路径及文件名>,<打开模式>,<编码格式>)

其中打开模式:

r —— 只读,如果文件不存在,返回异常

w —— 覆盖写模式,文件不存在则创建,存在则完全覆盖源文件

a —— 追加写模式,文件不存在则创建,存在则在源文件最后追加内容

r+ —— 可读、可写,文件不存在也会报错,写操作时会覆盖

w+ —— 可读,可写,文件不存在先创建,会覆盖


问题二.读入"earpa001.txt"文件中的数据,统计earpa001对应的职员在各楼层和区域出现的次数,保存到"earpa001_count.txt"文件,每条记录一行,位置信息和出现的次数之间用英文半角逗号隔开,行尾无空格,无空行。参考格式如下。

1-1,5

1-4,3

...

含义如下:

第1行"1-1,5"中1-1表示1楼1号区域,5表示出现5次;

第2行"1-4,3"中1-4表示1楼4号区域,3表示出现3次;

f = open('C:\\Users\\Administrator\\Desktop\\earpa001.txt','r',encoding='utf-8')
fo = open('C:\\Users\\Administrator\\Desktop\\earpa001_count.txt','w')ls = f.readlines()
d={}
for line in ls:lt = line.strip('\n').split(',')key = lt[2]+'-'+lt[3]d[key]=d.get(key,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)
for k in ls:fo.write('{},{}\n'.format(k[0],k[1]))f.close()
fo.close()

http://www.lryc.cn/news/589680.html

相关文章:

  • 广州邮科光纤交换机的应用:网络世界中的幕后核心
  • 【Qt开发】Qt的背景介绍(二)-> 搭建Qt开发环境
  • SAP中批量处理角色(复制、修改、上载,生成)
  • Apache IoTDB(1):时序数据库介绍与单机版安装部署指南
  • Clip微调系列:《CLIP-Adapter: Better Vision-Language Models with FeatureAdapters》
  • 【Qt+error】error: use of undeclared identifier ‘MainWindow
  • QT技巧之快速搭建串口收发平台
  • C++ -- STL-- List
  • 上公网-从内网到公网
  • C++ 中两个类之间的通信方式
  • Linux 文件系统实现层详解:原理、结构与驱动衔接
  • C++回顾 Day7
  • 企业级实时流处理:Kafka Streams完整解决方案
  • 基于Springboot+UniApp+Ai实现模拟面试小工具五:权限校验参数校验及日志功能实现
  • 从抽象函数到可计算导数 ——SymPy 中占位、求导、代入的完整闭环
  • OpenAI GPT-4o技术详解:全能多模态模型的架构革新与生态影响
  • AJAX 开发中的注意点
  • cursor使用mcp连接mysql数据库,url方式
  • Python 程序设计讲义(1):PyCharm 安装教程
  • 网络基础10 业务访问控制--ACL与包过滤
  • HarmonyOS-ArkUI: Web组件加载流程1
  • 隐私计算四大主流开源框架:从学术研究到工业落地,附PySyft实战Demo
  • 【PTA数据结构 | C语言版】根据层序序列重构二叉树
  • 【PTA数据结构 | C语言版】前序遍历二叉树
  • 【UniApp】Vue2 scss 预编译器默认已由 node-sass 更换为 dart-sass
  • 快速了解 HTTPS
  • 使用JS编写动态表格
  • ES2023 新特性解析_数组与对象的现代化操作指南
  • ffmpeg音视频处理大纲
  • 【删库跑路】一次删除pip的所有第三方库