手机
当前位置:查字典教程网 >脚本专栏 >python >从零学python系列之数据处理编程实例(一)
从零学python系列之数据处理编程实例(一)
摘要:要求:分别以james,julie,mikey,sarah四个学生的名字建立文本文件,分别存储各自的成绩,时间格式都精确为分秒,时间越短成绩...

要求:分别以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('C:Python33HeadFirstPythonhfpy_codechapter5') #将工作空间修改为文件所在的目录

#定义函数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) #采用复制排序sorted函数对无重复性的新集合进行排序

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']

【从零学python系列之数据处理编程实例(一)】相关文章:

python列表与元组详解实例

python二分法实现实例

python数据结构之二叉树的遍历实例

学习python的几条建议分享

python算法学习之计数排序实例

使用python统计文件行数示例分享

在Python中使用异步Socket编程性能测试

python利用hook技术破解https的实例代码

Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍

从零学python系列之数据处理编程实例(二)

精品推荐
分类导航