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 相关文章推荐
pymssql数据库操作MSSQL2005实例分析
May 25 Python
新手如何快速入门Python(菜鸟必看篇)
Jun 10 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
Python 中导入csv数据的三种方法
Nov 01 Python
详解python使用turtle库来画一朵花
Mar 21 Python
python3 反射的四种基本方法解析
Aug 26 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
python解包用法详解
Feb 17 Python
Python爬取科目四考试题库的方法实现
Mar 30 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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 smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
php车辆违章查询数据示例
2016/10/14 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
js 数组当前行添加数据方法详解
2020/07/28 Javascript
python实现2048小游戏
2015/03/30 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
解决DataFrame排序sort的问题
2018/06/07 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
高中班主任寄语
2019/06/21 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电