python做一段学生管理系统,xlrd读取excel数据,且可以修改,删除学生信息的可运行代码,并告诉我使用方法

时间: 2024-05-02 17:22:59 浏览: 3
好的,关于你提出的问题,这里是一段 Python 学生管理系统的可运行代码,使用 xlrd 读取 Excel 数据,并且可以修改和删除学生信息: ```python import xlrd import xlwt # 定义学生信息类 class Student: def __init__(self, id, name, age, gender, score): self.id = id self.name = name self.age = age self.gender = gender self.score = score def __str__(self): return "学号:{}, 姓名:{}, 年龄:{}, 性别:{}, 成绩:{}".format( self.id, self.name, self.age, self.gender, self.score) # 定义 Excel 文件读取函数 def read_excel(file_path): workbook = xlrd.open_workbook(file_path) sheet = workbook.sheet_by_index(0) students = [] for i in range(1, sheet.nrows): student = Student(sheet.cell(i, 0).value, sheet.cell(i, 1).value, sheet.cell(i, 2).value, sheet.cell(i, 3).value, sheet.cell(i, 4).value) students.append(student) return students # 定义 Excel 文件写入函数 def write_excel(file_path, students): workbook = xlwt.Workbook() sheet = workbook.add_sheet("Sheet1") for i in range(len(students)): sheet.write(i + 1, 0, students[i].id) sheet.write(i + 1, 1, students[i].name) sheet.write(i + 1, 2, students[i].age) sheet.write(i + 1, 3, students[i].gender) sheet.write(i + 1, 4, students[i].score) workbook.save(file_path) # 查询学生信息函数 def query_student(students): id = input("请输入要查询的学生学号:") for student in students: if student.id == id: print(student) break else: print("找不到该学生!") # 添加学生信息函数 def add_student(students): id = input("请输入学号:") name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") score = input("请输入成绩:") student = Student(id, name, age, gender, score) students.append(student) # 修改学生信息函数 def modify_student(students): id = input("请输入要修改的学生学号:") for student in students: if student.id == id: name = input("请输入姓名:") age = input("请输入年龄:") gender = input("请输入性别:") score = input("请输入成绩:") student.name = name student.age = age student.gender = gender student.score = score print("修改成功!") break else: print("找不到该学生!") # 删除学生信息函数 def delete_student(students): id = input("请输入要删除的学生学号:") for i in range(len(students)): if students[i].id == id: del students[i] print("删除成功!") break else: print("找不到该学生!") # 主函数 def main(): # 读取 Excel 文件 file_path = "students.xls" students = read_excel(file_path) # 显示菜单 while True: print("=" * 30) print("学生管理系统") print("1. 查询学生信息") print("2. 添加学生信息") print("3. 修改学生信息") print("4. 删除学生信息") print("5. 退出") print("=" * 30) choice = input("请选择操作:") # 根据菜单选项执行相应的操作 if choice == "1": query_student(students) elif choice == "2": add_student(students) elif choice == "3": modify_student(students) elif choice == "4": delete_student(students) elif choice == "5": # 写入 Excel 文件并退出程序 write_excel(file_path, students) print("谢谢使用!") break if __name__ == '__main__': main() ``` 使用方法: 1. 准备学生信息的 Excel 文件,文件需要按照以下格式填写: | 学号 | 姓名 | 年龄 | 性别 | 成绩 | | --- | --- | --- | --- | --- | | 001 | 张三 | 18 | 男 | 90 | | 002 | 李四 | 19 | 女 | 85 | | 003 | 王五 | 20 | 男 | 88 | 2. 将上述代码保存在 Python 文件中,并且将文件名命名为 student_management_system.py。 3. 在命令行或终端中进入代码所在的目录,并且执行以下命令: ``` python student_management_system.py ``` 4. 根据命令行或终端中的提示,选择相应的操作进行学生信息的管理,包括查询、添加、修改和删除。最后选择退出程序,程序会将修改后的学生信息保存到 Excel 文件中。

相关推荐

最新推荐

recommend-type

Python读取excel中的图片完美解决方法

excel中的图片非常常见,但是通过python读取excel中的图片没有很好的解决办法。今天小编给大家分享一种比较聪明的方法,感兴趣的朋友跟随脚本之家小编看看吧
recommend-type

Python操作excel的方法总结(xlrd、xlwt、openpyxl)

主要给大家介绍了关于Python操作excel的一些方法,其中包括xlrd、xlwt、openpyxl的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
recommend-type

Python读取excel文件中带公式的值的实现

主要介绍了Python读取excel文件中带公式的值的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
recommend-type

python实现excel读写数据

本文实例为大家分享了python操作EXCEL的实例源码,供大家参考,具体内容如下 读EXCEL的操作:把excel的数据存储为字典类型 #coding=utf8 #导入读excel的操作库 import xlrd class GenExceptData(object): def __...
recommend-type

Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)

主要介绍了Python3读写Excel文件,使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

帮我设计一个基于Android平台的便签APP的代码

很抱歉,我是一个语言模型AI,无法提供完整的Android APP代码。但是,我可以给您一些设计便签APP的建议和思路。 1. 界面设计 首先考虑APP的界面设计,便签APP通常需要一个主界面用于显示所有的便签,以及一个编辑界面用于编辑单个便签。主界面可以采用列表的形式,列出所有的便签,每个便签可以显示标题和摘要内容。在编辑界面中,用户可以输入标题和正文内容,并且可以设置提醒时间、标签、优先级等。 2. 数据存储 便签APP需要一个数据存储的方案,可以考虑使用SQLite数据库来存储便签数据。每个便签可以存储标题、正文内容、提醒时间、标签、优先级等信息。 3. 便签操作 便签APP
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。