python数据处理程序代码,如何用python处理数据

大家好,给大家分享一下python数据处理程序代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

 

要求:分别以james,julie,mikey,sarah四个学生的名字建立文本文件,分别存储各自的成绩,时间格式都精确为分秒,时间越短成绩越好,分别输出每个学生的无重复的前三个最好成绩,且分秒的分隔符要统一为“.”

数据准备:分别建立四个文本文件

james.txt    2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22

julie.txt       2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21

mikey.txt     2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38

sarah.txt     2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55

import os

os.chdir('D:\python') #将工作空间修改为文件所在目录

#定义函数get_filedata从文件中取值

def get_filedata(filename):

try:

with open(filename) as f: #with语句打开和自动关闭文件

data=f.readline()#从文件中逐行读取字符

return(data.strip().split(','))#将字符间的空格清除后,用逗号分隔字符

except IOError as ioerr:

print('File Error'+str(ioerr)) #异常处理打印错误

return(None)

#定义函数modify_time_format将所有文件中的时分表达方式统一为“分.秒”

def modify_time_format(time_string):

if "-" in time_string:

splitter="-"

elif ":" in time_string:

splitter=":"

else:

splitter="."

(mins, secs)=time_string.split(splitter) #用分隔符splitter分隔字符后分别存入mins和secs

return(mins +'.'+secs)

#get_prev_three 返回文件中排名前三的不重复的时间成绩

def get_prev_three(filename):

new_list=[modify_time_format(each_t) for each_t in get_filedata(filename)]

delete_repetition=set(new_list) #采用集合set函数删除新列表中的重复项,并生成新的集合

in_order=sorted(delete_repetition)

return(in_order[0:3])

#分别输出对应文件中排名前三的不重复的时间成绩

print(get_prev_three("james.txt"))

print(get_prev_three("julie.txt"))

print(get_prev_three("mikey.txt"))

print(get_prev_three("sarah.txt"))

输出结果:

['2.01', '2.22', '2.34']

['2.11', '2.23', '2.59']

['2.22', '2.38', '2.49']

['2.18', '2.25', '2.39']

要求2

文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年月

数据准备:建立一个文本文件

james2.txt     James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22

在上一节基础上,修改部分代码,将新要求实现如下:

import os

print(os.getcwd())

os.chdir('D:\python\data')

def get_filedata(filename):

try:

with open(filename) as f:

data=f.readline()

data_list=data.strip().split(',')

return({

"name":data_list.pop(0),

"data_of_birth":data_list.pop(0),

"times":str(sorted(set([modify_time_format(s) for s in data_list]))[0:3])

})

#use dictionary to store the name,data_of_birth,and times

except IOError as ioerr:

print('File Error'+ str(ioerr))

return(None)

james=get_filedata('james2.txt')

print(james2["name"] + "'s fastest times are:" + james["times"])

print(james["name"]+"'s birthday is" + james["data_of_birth"])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/23096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell指令的应用

整理思维导图判断家目录下,普通文件的个数和目录文件的个数输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限&…

测试平台——项目模块模型类设计

这里写目录标题 一、项目应用1、项目包含接口:2、创建子应用3、项目模块设计a、模型类设计b、序列化器类设计c、视图类设计 4、接口模块设计a、模型类设计b、序列化器类设计c、视图类设计 5、环境模块设计6、DRF中的通用过滤6.1、设置过滤器后端 一、项目应用 1、项…

SpringBoot统一功能处理(拦截器)

1.用户登录权限校验 1.1自定义拦截器 写一个类去实现HandlerInterceptor接口表示当前类是一个拦截器,再重写HandlerInterceptor接口中的方法,preHandle为在方法执行前拦截,postHandle为方法执行中拦截,afterCompletion为方法执行中拦截.需要在什么时候拦截就重写什么方法 Co…

百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!

今年3月,百度智能云推出“千帆大模型平台”。作为全球首个一站式的企业级大模型平台,千帆不但提供包括文心一言在内的大模型服务及第三方大模型服务,还提供大模型开发和应用的整套工具链,能够帮助企业解决大模型开发和应用过程中的…

人工智能可解释性分析导论(初稿)

目录 思维导图 1.黑箱所带来的问题 2.从应用面论述为什么要进行可解释性分析 2.1可解释性分析指什么 2.2可解释性分析的必要性 2.3可解释性分析应用实例 2.4 可解释性分析的脑回路(以可视化为例如何) 3.如何研究可解释性分析 3.1使用好解释的模型 3…

ClickHouse SQL与引擎--基本使用(一)

1.查看所有的数据库 show databases; 2.创建库 CREATE DATABASE zabbix ENGINE Ordinary; ATTACH DATABASE ck_test ENGINE Ordinary;3.创建本地表 CREATE TABLE IF NOT EXISTS test01(id UInt64,name String,time UInt64,age UInt8,flag UInt8 ) ENGINE MergeTree PARTI…

mysql高级(尚硅谷-夏磊)

目录 内容介绍 Linux下MySQL的安装与使用 Mysql逻辑架构 Mysql存储引擎 Sql预热 索引简介 内容介绍 1、Linux下MySQL的安装与使用 2、逻辑架构 3、sql预热 Linux下MySQL的安装与使用 1、docker安装docker run -d \-p 3309:3306 \-v /atguigu/mysql/mysql8/conf:/etc/my…

VGG卷积神经网络-笔记

VGG卷积神经网络-笔记 VGG是当前最流行的CNN模型之一, 2014年由Simonyan和Zisserman提出, 其命名来源于论文作者所在的实验室Visual Geometry Group。 测试结果为: 通过运行结果可以发现,在眼疾筛查数据集iChallenge-PM上使用VGG…

[LeetCode]链表相关题目(c语言实现)

文章目录 LeetCode 203. 移除链表元素LeetCode 237. 删除链表中的节点LeetCode 206. 反转链表ⅠLeetCode 92. 反转链表 II思路 1思路 2 LeetCode 876. 链表的中间结点剑指 Offer 22. 链表中倒数第k个节点LeetCode 21. 合并两个有序链表LeetCode 86. 分隔链表LeetCode 234. 回文…

flask-----蓝图

1.引入蓝图 flask都写在一个文件中,项目这样肯定不行,会导致循环导入的问题,分目录,分包,使用蓝图划分目录。 2.使用蓝图 步骤如下: -1 实例化得到一个蓝图对象-order_blueBlueprint(order,__name__,tem…

Pytorch入门学习——快速搭建神经网络、优化器、梯度计算

我的代码可以在我的Github找到 GIthub地址 https://github.com/QinghongShao-sqh/Pytorch_Study 因为最近有同学问我如何Nerf入门,这里就简单给出一些我的建议: (1)基本的pytorch,机器学习,深度学习知识&a…

C语言----字节对齐

一:字节对齐的概念 针对字节对齐,百度百科的解释如下: 字节对齐是字节按照一定规则在空间上排列,字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编…

ChatGPT在工作中的七种用途

1. 用 ChatGPT 替代谷歌搜索引擎 工作时,你一天会访问几次搜索引擎?有了 ChatGPT,使用搜索引擎的频率可能大大下降。 据报道,谷歌这样的搜索引擎巨头,实际上很担心用户最终会把自己的搜索工具换成 ChatGPT。该公司针对…

首批获得金融级行业云平台认证,天翼云深耕行业云

云计算下半场看什么? 无疑是金融、政务、制造等传统政企用户的上云与用云。随着数字经济发展和产业数字化的提速,上云已是政企用户推动其数字化转型不断深入的重要抓手,成为不可阻挡的趋势。 与互联网用户相比,政企用户上云极为…

数据库的约束 详解

一、约束的概述 1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的:保证数据库中数据的正确、有效性和完整性。 3.分类: 约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不…

Mybatis实现JsonObject对象与JSON之间交互

项目中使用PostGresql数据库进行数据存储,表中某字段为Json类型,用于存储Json格式数据。PG数据库能够直接存储Json算是一大特色,很多特定情境下使用直接存储Json字段数据能够大量节省开发时间,提高后台数据查询和转换效率。 1、基…

微信小程序如何引入Iconfont

在小程序中引入 Iconfont 可以通过以下步骤进行操作: 打开 Iconfont 网站(https://www.iconfont.cn/)并登录账号,创建一个项目并添加所需的图标到项目中。 在项目中选中需要使用的图标,点击右上角的 “下载代码” 按钮…

Spring Boot 中自动装配机制的原理

问题描述 自动装配,简单来说就是自动把第三方组件的 Bean 装载到 Spring IOC 器里面,不需 要开发人员再去写 Bean 的装配配置。 在 Spring Boot 应用里面,只需要在启动类加上SpringBootApplication 注解就可以实现自动装配。 SpringBootAppli…

【机器学习】对 MLOps 的友好的介绍(MLOps1)

一、说明 我对 MLOps 感兴趣已经有一段时间了。我第一次从机器学习工程师那里了解到它,由于我当时还是一名博士生,我并不知道它的存在。然而,我的好奇心被激起了,我开始了解它。回想起来,我很后悔没有早点了解它&#…

云原生应用里的服务发现

服务定义: 服务定义是声明给定服务如何被消费者/客户端使用的方式。在建立服务之间的同步通信通道之前,它会与消费者共享。 同步通信中的服务定义: 微服务可以将其服务定义发布到服务注册表(或由微服务所有者手动发布)…