Python二级考试-综合应用题(操作txt文件-传感器采集的数据)
前言:相信很多考过python二级或者是正在准备考python二级的小伙伴都应该清楚,综合应用题其实考的并不难,只是简单的相关操作,具体分为以下几点:
1.文件的使用:文件打开,读写和关闭。
2.数据的组织维度:一维数据和二维数据。
3.一维数据的处理:表示,存储和处理。
4.二维数据的处理:表示,存储和处理。
5.采用csv格式对一二维数据文件的读写。
掌握基本数据类型的相关操作,文件读写,程序的控制结构,还有相关的库如jieba,wordclound等就能完成大多数的题目。
题目

问题1

题目解决思路:
1,打开txt文件,用readlines函数逐行读取文件内容,这时候返回的是一个列表。注意:文件打开地址以文件所在位置为准!
2,遍历列表,对每一个列表元素用split函数把元素用","分隔开,这时候返回的也是列表类型。
3,结合元素特点,可以看返回的列表元素中,第一个元素是" earpa001"就符合题目要求。
4,最后把提取的数据写入文件即可。
代码实现:
# !/usr/bin/env python # -*- encoding:utf-8 -*- # 作者:赖正华 def read_earpa(): """读取传感器编号""" txt_earpa = open("C:\\WEXAM\\000000000000\\sensor.txt","r",encoding='utf-8') txt = txt_earpa.readlines() n = 0 for i in txt: new_txt = i.split(',') if new_txt[1] == ' earpa001': strs = i n += 1 write_NewEarpa(strs) print("第{}条,写入成功!".format(n)) txt_earpa.close() def write_NewEarpa(strs): """写入传感器编号,并写入新的txt文件""" with open("C:\\WEXAM\\000000000000\\earpa001.txt",'a+',encoding="utf-8") as files: files.write(strs) if __name__ == "__main__": read_earpa() print("写入成功!")
问题2:

题目解决思路:
1,打开前面写入的文件,也是逐行读取文件,返回列表类型。注意:文件打开地址以文件所在位置为准!
2,新建一个字典,遍历列表,对列表中的每一个元素分别用strip函数去除"\n",再用split函数用","进行分割。
3,根据元素特点可构建特殊字典的键,再用get函数获取相应的值,即可完成题目要求(详细请看代码)。
4,把数据写入新的文件即可。
代码实现:
# !/usr/bin/env python # -*- encoding:utf-8 -*- # 作者:赖正华 def read_files(): """读取文件""" txt = open("C:\\WEXAM\\000000000000\\earpa001.txt","r",encoding="utf-8") txts = txt.readlines() floor_dict = {} for i in txts: floors = i.strip('\n').split(',') keys = floors[2] + "-" + floors[3] floor_dict[keys] = floor_dict.get(keys,0) + 1 print(floor_dict) for k,v in floor_dict.items(): print(k,str(v)) strs = k + ',' + str(v) + '\n' write_files(strs) txt.close() def write_files(strs): """写入文件""" files = open("C:\\WEXAM\\000000000000\\earpa001_count.txt","a",encoding="utf-8") files.write(strs) files.close() if __name__ == "__main__": read_files() print("读取成功!")
内容简短,实力有限,有表达不全或表达错误还请谅解,谢谢观看!
学习没有捷径,需要日积月累的积淀及对技术的热爱。

浙公网安备 33010602011771号