Excel是最常用的办公软件,对于繁琐、重复的操作,可以借助Python提升效率,节约时间。
一、Excel编辑选择题。
1、Excel试卷基本格式。
A列、C列、D列合并相关单元格。
B列列宽最大,自动换行。以B6:B10为例,题目一行,ABCD四人选项各占一行。从B6:B255,50道选择题。
2、Excel试卷编辑,设置数据有效性,保护工作表和工作簿。
A2设置数据有效性,保证班级数据的统一和正确。
C6:C255设置数据验证。
选择A1:C1,C3:C5,A6:B255,在设置单元格格式对话框保护标签下勾选锁定。
设置密码,保护工作表。
设置密码,保护工作簿。
保护工作表,工作簿后,A2:C2,C6:C255可编辑,其他单元格都不可编辑修改。若要修改,需密码。
二、Python快速统计试卷得分。
1、试卷文件夹。
2、代码。
#-*-coding:utf-8-*-
import os
import openpyxl as xl
from openpyxl import load_workbook
import tkinter as tk
from tkinter import filedialog#浏览获得文件夹
root = tk.Tk()
root.withdraw()
FolderPath = filedialog.askdirectory()
FilePath = FolderPath.replace("/", "\\\\")#输入标答
ans = input("请输入标答:")
answer1 = ans.lower()
answer2 = ans.upper()# 提取工作簿名
file_name_list = os.listdir(FilePath)data = []
# 遍历工作簿
for i in range(len(file_name_list)):data.append([])workbook = xl.load_workbook(FilePath + "\\" + file_name_list[i])# 提取学号、姓名写入列表dataSheet1 = workbook.activedata[i].append(Sheet1["A2"].value)data[i].append(Sheet1["B2"].value)data[i].append(Sheet1["C2"].value)# 计算成绩cell = Sheet1["C6:c255"]answer = []for m in cell:for n in m:if n.row % 5 == 1:answer.append(n.value)score = 0for k in range(0,len(ans)):if answer[k] == answer1[k] or answer[k] == answer2[k]:score += 1score= score * 100 / len(ans)# 成绩写入数据列表datadata[i].append(score)workbook.close()# 添加到score.xlsx的选择题sheet
scorebook = xl.Workbook()
sheet = scorebook.active
for row in data:sheet.append(row)
scorebook.save(filename = "score.xlsx")
3、结果示例score.xlsx内容截图。
三、打包生成EXE文件。
获取浏览文件夹路径,参考了
python通过对话框实现文件或文件夹路径的选择并获得路径_请选择的博客-CSDN博客_python选择文件夹
有关打包的方法,可参考 Python程序打包成.exe(史上最全面讲解)_断桥之蝶恋花的博客-CSDN博客