成绩管理系统实现了如下功能:
1、根据学号录入、修改、删除、查看相应分数。
2、按照ID查看所有数据。
3、根据分数高低排序查看所有数据。
4、向表中添加新的ID、姓名。
5、运行时系统首先检测是否存在指定文件,如果有则直接读取,没有则在指定文件夹创建。
6、只允许输入列出的整数,输入其他数据类型或者没有列出的数字会显示提示并重新进入选择。
具体代码如下:
import pandas as pd # 用于处理表格数据
import os.path # 用于检测文件是否存在
import openpyxl # 用于创建表格
class Sys:
if os.path.exists('D:/python/pythonProject/student_scores.xlsx'): # 检测文件是否存在
pass # 如果存在就跳过
else:
wb = openpyxl.Workbook()
wb.save('D:/python/pythonProject/student_scores.xlsx') # 如果不存在就通过Workbook来创建
data = pd.read_excel('D:/python/pythonProject/student_scores.xlsx') # 读取表格中的数据并赋值给data
def __init__(self): # 定义初始化函数
self.data = Sys.data # 定义类变量,将类变量data赋值给实例化变量
self.operation() # 执行operation函数
def save(self): # 定义一个将frame导出到excel文件的函数
self.data.to_excel('D:/python/pythonProject/student_scores.xlsx', index=False) # index=False,不添加索引
def entering(self): # 定义一个录入成绩的函数
stu_num = int(input("请输入学生的学号:"))
# new_frame = pd.DataFrame([[stu_num, pd.NaT, pd.NaT]], columns=["ID", "Name", "score"])
# self.data = pd.concat([self.data, new_frame])
# 上面两行是另一种实现方式,但是这种方式会产生重复的数据,即系统不管有没有这个学号,都会在末尾追加数据。
stu_score = int(input