Python 使用 xlrd 和 xlwt 库读取和写入 Excel 文件进行成绩录入和修改
该代码使用 Python 的 xlrd 和 xlwt 库读取和写入 Excel 文件,用于输入和修改学生成绩。以下是代码的详细说明:
-
首先,代码导入必要的库:xlrd 和 xlwt,用于读取和写入 Excel 文件。
-
需要提供要操作的 Excel 文件名。在本例中,文件名为 '理论力学21.xlsx'。
-
变量 'order' 表示 Excel 文件中包含学生信息的行的范围。它是一个包含两个元素的元组,分别表示起始行号和结束行号。
-
代码使用 xlrd 库打开 Excel 文件并选择第一个工作表。
-
创建三个空列表:'stu_name'、'stu_order' 和 'stu_class',分别用于存储学生姓名、学号和班级。
-
使用循环遍历指定范围内的行。从 Excel 工作表中相应的单元格中提取学生姓名、学号和班级,并将其附加到各自的列表中。
-
如果存在名为 'tmp.tmp' 的文件并且用户选择加载已保存的数据,代码会读取文件的内容并填充 'tmp_order' 和 'tmp_grade' 列表。
-
代码进入一个 while 循环,重复向用户请求输入。用户可以输入学生姓名或学号。如果输入以数字结尾,则假定为学号并附加 '2021'。
-
代码尝试在 'stu_name' 或 'stu_order' 列表中找到输入。如果找到,则使用相应的索引从各自的列表中检索学生的姓名、学号和班级。
-
如果在任何列表中都没有找到输入,代码检查它是否与 'stu_name' 列表中的任何姓名部分匹配。如果找到部分匹配,代码会显示匹配学生的索引、姓名和学号。然后提示用户输入正确的索引。
-
一旦检索到学生信息,代码会提示用户输入学生的成绩。
-
如果在 'tmp_order' 列表中找到相应的条目,表明已为学生输入了成绩,代码会显示现有成绩并提示用户输入新的成绩。
-
如果没有找到相应的条目,则将学生的学号和输入的成绩分别附加到 'tmp_order' 和 'tmp_grade' 列表中。
-
用户完成所有学生的成绩输入后,代码会提示用户是否保存 'tmp.tmp' 文件。如果选择保存,代码会将 'tmp_order' 和 'tmp_grade' 列表的内容写入文件。
-
如果用户选择不保存文件,代码使用 xlwt 库创建一个名为 'Test.xls' 的新 Excel 文件。然后,它使用 'tmp_order' 和 'tmp_grade' 列表中的学号和成绩分别填充第一个工作表的第 1 和第 2 列。
-
最后,保存新 Excel 文件并结束代码执行。
注意:此代码假设 Excel 文件遵循特定的格式,学生姓名在第一工作表的第三列,学号在第二列,班级在第五列。如果你的 Excel 文件具有不同的结构,你可能需要修改代码。
该代码仅供参考,实际使用时可能需要根据具体情况进行修改和调整。
原文地址: https://www.cveoy.top/t/topic/pTsN 著作权归作者所有。请勿转载和采集!