Python使用文件操作实现一个XX信息管理系统的示例python

大家好,我是第一次python学了一个学期,期末要完成一个毕业生信息管理系统大作业的小韩了,由于上次没有仔细看开发实现的要求,实现了一个简单的毕业生信息管理系统,而这次专门整理了两种使用文件进行保存数据实现的毕业生信息管理系统,因为是第一次学python,还不太熟悉python的写法,而之前是学c、c++,感觉我的这个写的有一股c/c++的内味:

1.使用excel.xlsx保存数据实现一个毕业生信息管理系统2.使用文本文档.txt保存数据实现一个毕业生信息管理系统

以下将会在代码进行详细的介绍

一、对excel表格操作实现一个毕业生信息管理系统

开发要求

1.采用python语言实现一个XX信息管理系统

2.实现基本的增删改查的基本功能,还可以加上一些如排序,搜索的操作3.采用文件保存数据(而不是每次从键盘输入)

4.各个功能界面循环调用环境以及

开发软件

1.python3.7.0版本

2.pycharm2019中文版

一、函数模块设计:

1.主函数模块

实现功能

defmain():#主函数arry=[0,1,2,3,4,5]#定义一个选项的列表用于输入判断Menu()#先打印菜单while1:a=input("请输入:")ifa.isdigit()andint(a)inarry:#这里判断输入的是不是数字且在不在选项的列表中如果输入合法再进行功能调用a=int(a)whilea:ifa==1:PrintStudentList()#查询搜索毕业生信息功能Menu()breakifa==2:AddStudent()#添加毕业生信息功能Menu()breakifa==3:ChangeStudent()#修改毕业生信息功能Menu()breakifa==4:DeleteStudent()#删除毕业生信息功能Menu()breakifa==5:SortData()#毕业生信息排序功能Menu()breakelifa>5ora<0:print("输入有误!")breakifa==0:#按0退出该毕业生信息管理系统print("系统已退出!")exit()else:print("请输入0--5!")main()这里因为还没有学到python中的字典那部分知识,而pyhton中又没有switch和case所以就使用这个if进行判断虽然比较繁琐,但是看起来还是比较清晰易懂的

二、数据文件设计

因为这里要采用文件进行保存数据,我第一个想到的就是excel表格,这种.xlsx文件保存数据一目了然,因此本次选择了excel表格进行数据保存,写入,读取,修改,删除等基本功能

主要信息:

关于对excel表格使用则需要导入两个包:

fromopenpyxlimportWorkbook#导入操作excel时所用的库fromopenpyxlimportload_workbook#用于对本地已经存在的excel文件操作如果这里导入失败的话,可能需要自己手动进行openpyxl的下载下载方法具体如下

点击文件-->>点击设置(setting)-->>点击自己的项目-->>点击第一个选项-->>点击页面的右侧的加号-->>输入想要导入的包(openpyxl)-->>点击左下角的installPackage稍等一会即可完成安装

2.增加毕业生信息模块

从键盘获取输入的信息,信息校验成功后,先将信息保存在一个列表中,然后最后将整个列表插入到excel表格中,然后保存,这样方便写入,否则频繁的打开关闭文件比较繁琐,容易出现错误。例如:下面插入学号id

先建立一个空的列表然后先对学号进行校验,首先校验学号是否合法,比如长度要求,或者插入的是否和表中的是否重复,当校验成功后才将学号保存到列表中

r=[]#建立一个新的列表在将这个列表插入到excel表中ID=Nonewb=load_workbook('StudentList.xlsx')sheet=wb.activeid=input("请输入学号:")ifCheckIdIsRight(id):while1:id=input("请输入正确的学号!")ifnotCheckIdIsRight(id):ID=idbreakelse:ID=idr.append(ID)#将输入的ID插入到列表中其余的其他信息依次类推最后将整个列表插入到excel表格中,然后关闭并保存文件

sheet.append(r)#将整个列表插入到excel表格中即为插入一行数据wb.close()wb.save('StudentList.xlsx')3.查询搜索毕业生信息模块

defPrintAll():wb=load_workbook('StudentList.xlsx')#打开现在已经有的表sheet=wb.active#获取当前活跃的表也就是当前使用的表forrowinsheet.rows:#循环每一行forcellinrow:#循环每一行的单元格print(cell.value,end="")#打印出每一个单元格的数据print()print()只需要将每一个单元格的按顺序打印出来即可

例如:按学号查询该毕业生的信息

defSelectById():id=input("请输入需要查询的学号:")ifid.isdigit()andnotCheckIdIsRight(id):id1=int(id)#将输入的str类型的转换为int类型wb=load_workbook('StudentList.xlsx')#打开现在已经有的表sheet=wb.active#获取当前活跃的表也就是当前使用的表r=FindId(id1)foriinrange(1,10):print(sheet.cell(1,i).value,end="")#打印出表头的信息print()foriinrange(1,10):print(sheet.cell(r,i).value,end="")#打印出该id对应的信息print()else:print("学号输入错误!")首先应该判断一下输入的学号是不是一串数字,而且想要查询的学生的学号是存在的,因为我们这里规定学号应该是类似于1700000000这样的一个数字,而python默认input输入的是一个str字符串类型的所以这里防止输入错误导致程序崩溃因此加入了一些校验,当确认合法之后再将其转换为int类型的变量进行使用。而具体的就是通过一个findid的函数来返回学号所在的行这样就可以将这一行的信息打印出来即可,打印学生信息的同时不要忘了打印表头的信息,这样看起来会更加的清晰。

4.修改毕业生信息模块

defchangename(row,wb):#修改姓名#row为其所在的信息的行wb是表格对象name=input("请输入修改之后的名字:")sheet.cell(row,2,name)wb.save('StudentList.xlsx')5.毕业生信息排序

这里排序主要使用了一个冒泡排序的算法对数据进行排序,虽然python中是有内置的排序算发法的,但是我这里还是自己实现了一个排序(升序),排完序了之后也可以对升序的进行一个反转得到一个降序的列表。因为是对某一项的单一数据进行排序,而排序结果是要求打印出所有信息的,因此先得到一个某一项数据排好序的列表,然后将列表对应的信息进行打印即可。例如:按学号进行排序冒泡排序:

defBubbleSort(l2):#冒泡排序对列表中的数据进行一个升序的排列foriinrange(0,len(l2)):count=0forjinrange(1,len(l2)-i):ifint(l2[j-1])>int(l2[j]):temp=l2[j]l2[j]=l2[j-1]l2[j-1]=tempcount=count+1ifcount==0:#算法优点当已经有序时就不再进行排序returnl2returnl2#返回排好序的列表按学号从小到大排序并打印学生信息

defGetAllStudentById():#按学号排序打印出学生信息(升序)l=[]#建立一个空的列表wb=load_workbook('StudentList.xlsx')sheet=wb.activeforcolumninlist(sheet.columns)[0]:l.append(column.value)#将学号插入到列表中得到一个学号列表l2=l[1:]#由于第一个是表头将第二个位置以后的范围拷贝给l2l3=BubbleSort(l2)#进行学号排序#3是排好序的列表foriinrange(1,10):print(sheet.cell(1,i).value,end="")#打印出表头的信息print()foriinrange(0,len(l3)):#依次找到排好序的学号或年级对应的学生信息即可r=FindId(l3[i])#找到该行forjinrange(1,10):print(sheet.cell(r,j).value,end="")#打印出该id对应的信息print()注意:因为学号是唯一的,因此可以通过找道该行,然后通过行号进行某一行的定向信息打印,但是像年级,月薪信息是有可能重复的,就不能再像学号一样查找,打印了,但是我们可以先将年级的列表排好序,然后进行一个去重,这样,就可以将符合满足,排好序的年级列表中的年级对应的学生,信息全部打印出来

6.删除毕业生信息

非常简单,只需要将要删除的学生的学号输入,然后学号校验合法且存在之后,找到对应的该行,然后将这一行的数据删除就可以了。

defDeleteStudent():#删除学生信息PrintAll()id=input("请输入要删除学生的学号:")ifnotCheckIdIsRight(id):#判断学号为id的学生是否在StudentList.xlsx中print("学号正确!")id=int(id)row=FindId(id)#查找其所在的行wb=load_workbook('StudentList.xlsx')sheet=wb.activeisdelete=input("是否删除该学生信息?输入是或否:")ifisdelete=='是':sheet.delete_rows(row,1)#删除该行wb.save('StudentList.xlsx')print("删除成功!")else:print("删除失败!")else:print("学号输入错误!")三、测试

1.查询搜索测试

2.添加测试

3.修改测试

4.信息排序测试

5.删除信息测试

四、源码

注意:将表格excel文件放在代码相同目录下即可,否则应该在使用文件时填上绝对路径,否则会出现文件打不开,或者找不到等错误,在系统运行期间应该讲文件保存并关闭,否则当文件处于打开状态时无法进行修改,插入等操作,出现错误。

二、采用文本文档保存数据实现的毕业生信息管理系统

基本思想与上述的相似,就不再这里阐述了,以下附上源码。

源码

相应的文件:注意该文本文件应和代码文件在同一个目录下

注意:这里采用分行进行数据的存储,为了方便数据的准确修改,不需要一整行的数据进行修改那么麻烦,插入和修改也更为精确

THE END
1.管理系统Excel模板下载管理系统Excel模板表格免费下载熊猫办公智能匹配到80张管理系统电子版Excel、为你提供多种管理系统表格下载,更多丰富专业的管理系统Excel表格,财务核算表单、考勤绩效表、课程学习表等资源,就到熊猫办公。https://www.tukuppt.com/speciall/guanlixitong.html
2.从零开始设计一个管理系统—管理Excel本文将以介绍一个管理系统设计实现为例,让您了解管理Excel, 并可以使用管理Excel设计出契合实际需求的管理系统。 本次设计目标是设计一个基本的采购销售管理系统: 1、采购管理 2、销售管理 3、库存管理 总体设计图如下: 设计一个管理系统的第一步: 设计基础信息相关表单 https://www.guanexcel.com/design_management_system_from_scratch.html
3.Excel管理系统Excel模板【下载地址】Excel管理系统Excel模板本仓库提供了一系列专业的Excel模板,适用于企业管理中的多个关键领域。这些模板旨在帮助企业高效管理会计财务报表、考勤、人事档案、销售合同、发票、绩效考核、财务收支及利润分析等重要业务 资源描述 本仓库提供了一系列专业的Excel模板,适用于企业管理中的多个关键领域。这些模板旨在帮助https://blog.csdn.net/gitblog_09762/article/details/143282986
4.网络Excel平台《网络Excel平台》(英文名字:myExcel)是一个用于构建信息系统的设计与运行平台,她以Excel为操作界面,让用户自主,不用编程,结合SQLServer数据库,通过在Excel中设计模板、表间公式、工作流等,即可轻松构建适合自己、适应变化的网络化信息管理系统,并且实施快速、低成本、无风险。 http://www.myexcel.net.cn/
5.还在用Excel管理数据?几步操作,直接把Excel做成系统吧把Excel 做成系统的好处: 1. 方便数据集中存放、管理、维护。 2. 确保数据的一致性,同一份数据只做一次录入,多处使用,减少工作量和错误。 3. 确保数据的完整性和约束性,数据之间自动做关联,避免人工校对。 4. 方便全方位多角度对数据进行查询、统计、汇总计算等等。https://forum.wuyuan.io/plate/qa/topic/62451a31d7521651e858fae1
6.CRMOA进销存网络ExcelExcel服务器内控管理Excel微信通用Excel是上海互和信息科技有限公司研发的一款无编程、无代码、免维护,用于开发ERP、CRM、OA、进销存、内控管理、项目管理、工程施工管理、客户关系管理、绩效考核管理、销售管理、采购管理、仓库管理、行政管理、财务管理、人事管理、生产管理、考勤管理等系统的软件开http://m.sh-huhe.com/
7.excel怎么做个管理系统Excel是一款功能强大的电子表格软件,可以用于制作各种管理系统。下面我将介绍如何使用Excel来制作一个简单的管理系统。 我们需要确定管理系统的目标和功能。假设我们要制作一个员工考勤管理系统,包括记录员工的上下班时间、计算工作时长、统计迟到早退次数等功能。 https://www.dugusoft.com/zixun/zixun36071.html
8.如何excel设计仓库管理系统零代码企业数字化知识站在设计Excel仓库管理系统时,有几个关键步骤可以帮助你创建一个高效、实用的系统:1、确定仓库管理的核心要素;2、设计数据输入模板;3、建立自动化计算公式;4、创建数据分析报表。其中,确定仓库管理的核心要素是至关重要的,因为它决定了系统的整体框架和功能。你需要明确管理哪些物品、需要记录哪些信息(如库存数量、入库日https://www.jiandaoyun.com/blog/article/1152242/
9.使用管理Excel设计一个信息管理系统使用管理Excel设计一个信息管理系统,更多信息见:http://www.guanexcel.com 功能: 创建组织、设计表单、高级表单技巧、报表设计、员工及权限、应用市场https://www.jianshu.com/p/715f3b1f4210
10.通用EXCEL进销存仓库管理系统创新设计ExcelVBA程序开发系统提醒:出入库单待审核提醒、库存报警提醒 仓库管理:出入库库单开单操作单据、具有审核、作废、反审https://club.excelhome.net/thread-1625757-1-1.html?_dsign=f1c2783d
11.基于VBA的Excel小型工资管理系统的设计与实现EXCEL VBA编程 工资管理https://www.cnki.com.cn/Article/CJFDTotal-YTJY201103016.htm
12.财务excel财务excel表格财务excel模板公司年度费用预算分解预实对比表excel 工资单自动计算生成excel模板 橙色产品成本计算表Excel模板 公司财务记账管理系统设计EXCEL模板 公司销售费用预算表格模板excel 项目管理项目评审报告excel模板 物流公司物料库存管理系统表格模版Excel模板 简单应收账款记账系统Excel模板 https://www.51miz.com/so-sucai/1769701.html
13.公司财务记账管理系统设计EXCEL模板人人办公提供公司财务记账管理系统设计EXCEL模板下载,该PPT编号为40604,格式为DOCX / DOC,大小为574.24 KB,欢迎大家下载,更多PPT模板素材,就来人人办公。https://www.211doc.com/show_40604.html
14.第二章Excel实现信息自动化管理系统之数据录入界面设计(一)先和大家说说,为什么要用Excel电子表格做自动化的信息数据管理系统?本身excel就是一款功能强大的数据信息管理和分析软件,我们如果在它的基础上在设计信息管理的功能感觉有点多此一举。但是大家仔细想想,我们在excel录入数据时,很多时候都是在单元https://mp.weixin.qq.com/s?__biz=MzUyMzk2NzI5Nw==&mid=2247483995&idx=1&sn=6708b6897d1d405d9d82f2b8193f3f67&chksm=fa35cc75cd4245632e028f94aeb1e995f95cea098a52d552d2d472d7f7f5fa5f684d7c946767&scene=27
15.价值百万的文章:老墨教你Excel中设计“员工信息管理系统”实现就人力资源管理模块中,对人力资源信息管理实现了员工信息录入(入职)、过程异动管理(调动、晋升、转岗、离职等)、报表查询等功能。 在SAP中首先需要通过创建组织(法人公司-部门-职位),然后再往里面录员工信息,系统中依据岗位录员工信息。 在录入员工信息过程,除了一个个创建录入,也可以通过Excel批量导入。 http://www.360doc.com/content/16/0817/17/30583536_583894138.shtml
16.仓库库房管理系统excel模板出入库表格下载编号16041184仓库库房管理系统excel模板出入库表格原创作品是设计师603536347上传到我图网,本作品为版权excel表格模板,图片编号16041184,上传时间为2017-01-06 23:48:50,表格大小为0.58MB,格式为excel,表格尺寸/像素为-高清品质,本excel表格为独家原创素材,下载后在本地用 Excel 2010(.xhttps://weili.ooopic.com/weili_16041184.html
17.基于excel的固定资产管理系统设计(完稿)经管文基于excel的固定资产管理系统设计(完稿)https://bbs.pinggu.org/thread-13064266-1-1.html
18.计算机基础电子教案4. 程序设计 用各种编程语言设计制作程序的过程。 三、数据库管理系统和工具软件 1. 常用数据库管理系统(FoxBASE、 Foxpro、 Access和 Oracle等) 2. 工具软件:为了方便软件开发,系统维护而提供的各种软件。 (如压缩软件、加密软件和反病毒软件) 四、应用软件 https://www.fwsir.com/jiaoan/html/jiaoan_20080821212119_172611.html
19.怎么自制excel集成系统打造个性化Excel集成系统助力软考备考设计集成系统的框架是自制Excel集成系统的关键一步。可以利用Excel的多个工作表来分别实现不同的功能模块。例如,可以创建一个工作表用于整理软考的知识点,另一个工作表用于管理题库,再有一个工作表来制定学习计划等。同时,合理设计界面布局,使得各个功能模块一目了然,便于快速访问和操作。 https://blog.51cto.com/u_15823324/11338303
20.技术方案引入SDP项目进度管理系统。 引入CodeReview机制进行代码品质保障。 部门日常管理的信息化(部门Portal建设)。 3.软件开发项目管理 4.业绩的评价。 3.0 成本分析与评估 人员成本分析: 程序员: 3 名 薪资20xx~3000 系统设计: 1 名 薪资4000~5500 系统分析: 1 名薪资5500~6500 合计:15000~20500 https://www.ruiwen.com/fangan/5704831.html
21.汇软科技工程项目管理系统工程项目管理软件工程管理系统汇软科技通过新的技术解决方案帮助客户实现业务增长和数字化转型,为企业提供高贴合的管理系统,主要有项目管理软件,工程管理软件,计划管理软件,合同管理软件,ERP企业管理系统等http://www.h7oa.com/
22.课程2、微型机的软件系统组成:包括指令与指令系统、程序与程序设计3、计算机的性能评价 ●1.5多媒体技术概述 多媒体技术的应用领域,多媒体计算机系统组成,多媒体信息类型及处理 第二章计算机的大管家——操作系统 操作系统是管理计算机软硬件资源的最基本、最重要的系统软件。本章首先介绍操作系统的基本知识,包括其定义、https://higher.smartedu.cn/course/62354c889906eace048c8377