日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

自动化办公-Python处理Excel生成试卷

發布時間:2023/12/14 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动化办公-Python处理Excel生成试卷 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

效果圖



思路

通過處理excel中不同的sheet,將每個題的順序還有題內選項的順序隨機處理后,生成不同版本的試題
使用到的庫

import random import xlrd from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH

獲取試題列表

wb = xlrd.open_workbook('./file/試題2.xls')

創建試題列表

class Question:passdef createQuestion(sheet):# 創建試題列表questionList = []for i in range(sheet.nrows):if i > 1:obj = Question()# 題目obj.subject = sheet.cell_value(i, 1, )# 題型obj.questionType = sheet.cell_value(i, 2, )# 選項A,B,C,Dobj.option = []obj.option.append(sheet.cell_value(i, 3))obj.option.append(sheet.cell_value(i, 4))obj.option.append(sheet.cell_value(i, 5))obj.option.append(sheet.cell_value(i, 6))# 分值obj.score = sheet.cell_value(i, 7)questionList.append(obj)# 將序列中所有元素隨機排序random.shuffle(questionList)return questionList

生成Word試卷模板

# 生成word試卷模板 def createPaper(filename,papername,questionlist):document = Document()# 頁眉頁腳section = document.sections[0]header = section.headerp1=header.paragraphs[0]p1.text = papernamefooter = section.footerp2=footer.paragraphs[0]p2.text = '內部試題,禁止泄露!!!'# 試卷基本信息title= document.add_heading(papername,level=1)title.alignment = WD_ALIGN_PARAGRAPH.CENTERp3 = document.add_paragraph()p3.add_run('姓名:________')p3.add_run('所屬部門:________')p3.alignment = WD_ALIGN_PARAGRAPH.CENTER# 試題信息number =0for question in questionlist:number+=1subject = document.add_paragraph()run = subject.add_run('%d '%number+question.subject)# 題目加粗run.blod=Truesubject.add_run('[%s]分'%str(question.score))# 打亂選項的順序random.shuffle(question.option)for index,option in enumerate(question.option):document.add_paragraph(('ABCD')[index]+str(option))document.save(filename)

創建試卷

for j in range(len(wb.sheets())):sheet = wb.sheet_by_index(j)for i in range(5):questionList = createQuestion(sheet)createPaper('./file/%s'%sheet.name+str(i+1)+'.docx','2022年%s'%sheet.name+'第一次考試',questionList)

總結

以上是生活随笔為你收集整理的自动化办公-Python处理Excel生成试卷的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。