python 实现查找文件并输出满足某一条件的数据项方法


Posted in Python onJune 12, 2019

python 实现文件查找和某些项输出

本文是基于给定一文件(students.txt),查找其中GPA分数最高的 输出,同时输出其对应的姓名和学分

一. 思路

首先需要打开文件,读取文件的每一行,将姓名,学分,GPA值分别存到三个对应的列表中,对于GPA列表进行遍历,获取其中值最大的一项,但是需要保存最大值对应的索引,方便输出对应的姓名和学分项

二. 代码

版本1

# -*- coding: utf-8 -*-
"""
Created on Thu Feb 1 12:24:18 2018

@author: Administrator
"""

def main():
  file=open("students.txt",'r') 
  lines=file.readlines() #使用readlines()函数 读取文件的全部内容,存成一个列表,每一项都是以换行符结尾的一个字符串,对应着文件的一行

  list_name=[] #初始化一个空列表 用来存该文件的姓名 也就是第一列
  list_scores=[]
  list_gpa=[]

  for line in lines:   #开始进行处理 把第一列存到list_name 第二列存到list_scores,,,,,
    elements=line.split()
    list_name.append(elements[0])
    list_scores.append(elements[1])
    list_gpa.append(elements[2])

  max_gpa=0 
  index=0

  for i in range (len(list_gpa)):  #对于列表list_gpa 遍历该列表找其中gpa分数最高的
    if max_gpa <float(list_gpa[i]):
      max_gpa=float(list_gpa[i])
      index=i      #这一步就是记录list_gpa中GPA最高的在列表的第几个位置,方面输出对应的姓名和分数
  print("the person is {0} and the scores are {1} ,the gpa is {2}".format(list_name[index],list_scores[index],max_gpa))

main()

版本2

#这个是根据第二项hours和第三项points的比值,哪个值大就输出对应的学分points和GPA值points/hours

def main():
  file=open("students.txt",'r')
  lines=file.readlines()
  list_name=[]
  list_hours=[]
  list_points=[]

  for line in lines:
    elements=line.split()
    list_name.append(elements[0])
    list_hours.append(elements[1])
    list_points.append(elements[2])

  list_gpa=[] #这个列表用来存放hours 和points之间的比值

  for i in range(len(list_name)):
    a=float(list_hours[i])
    b=float(list_points[i])
    c=b/a
    list_gpa.append(str(c))  #把原来list_hours 和list_points中对应项的比值都存到list_gpa列表中

  maxgpa=0
  for i in range(len(list_gpa)):  #找list_gpa中值最大的那项
    if maxgpa<float(list_gpa[i]):
      maxgpa=float(list_gpa[i])
      index=i  #记录下gpa值最大的那项对应的索引值,方便输出其他项
  print("the max GPA is {},his name is {} and the scorespoint is {}".format(maxgpa,list_name[index],list_points[index]))

main()

以上这篇python 实现查找文件并输出满足某一条件的数据项方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用PyFetion来发送短信的例子
Apr 22 Python
Python记录详细调用堆栈日志的方法
May 05 Python
Python加pyGame实现的简单拼图游戏实例
May 15 Python
Python实现的RSS阅读器实例
Jul 25 Python
Python制作简易注册登录系统
Dec 15 Python
Python实现读取文件最后n行的方法
Feb 23 Python
Python自动生产表情包
Mar 17 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
Python查找两个有序列表中位数的方法【基于归并算法】
Apr 20 Python
python使用matplotlib画饼状图
Sep 25 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
python可视化之颜色映射详解
Sep 15 Python
Python当中的array数组对象实例详解
Jun 12 #Python
Django模型序列化返回自然主键值示例代码
Jun 12 #Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 #Python
python 列表输出重复值以及对应的角标方法
Jun 11 #Python
使用python list 查找所有匹配元素的位置实例
Jun 11 #Python
python找出一个列表中相同元素的多个索引实例
Jun 11 #Python
三步实现Django Paginator分页的方法
Jun 11 #Python
You might like
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
经济类毕业生求职信
2014/06/26 职场文书
护理学专业求职信
2014/06/29 职场文书
计算机实训报告范文
2014/11/05 职场文书
婚礼答谢词
2015/01/04 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL