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 面向对象 成员的访问约束
Dec 23 Python
跟老齐学Python之变量和参数
Oct 10 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
python中set()函数简介及实例解析
Jan 09 Python
Python标准库笔记struct模块的使用
Feb 22 Python
Django添加sitemap的方法示例
Aug 06 Python
使用Python处理BAM的方法
Sep 28 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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传输数据的代码
2007/11/13 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
php微信开发之关注事件
2018/06/14 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JavaScript知识点整理
2015/12/09 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
深入理解vue中的$set
2017/06/01 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
详解node.js 事件循环
2020/07/22 Javascript
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python之父谈Python的未来形式
2016/07/01 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
python线程里哪种模块比较适合
2020/08/02 Python
python3排序的实例方法
2020/10/20 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
网络工程专业自荐信范文
2014/03/16 职场文书
活动总结报告怎么写
2014/07/03 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
2014年统战工作总结
2014/12/09 职场文书
千手观音观后感
2015/06/03 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
Python字符串的转义字符
2022/04/07 Python
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android