这次的任务要求是这样的
为了这位老哥的学习,于是就用Python帮了一把,一共300多题,要是一个个来还不得累死。
于是在线学习了一下Python操作Excel,需要用到一个模块openpyxl
源文件图:
成品图:
代码:
# -*- coding: utf-8 -*- """ ------------------------------------------------- @ Author :Lan @ Blog :www.lanol.cn @ Date : 2020/6/21 @ Description:I'm in charge of my Code ------------------------------------------------- """ import re import openpyxl class QueClear: def __init__(self, file): self.file = file self.wb = openpyxl.load_workbook(self.file) self.sheet = self.wb.sheetnames[0] self.ws = self.wb[self.sheet] # 获取总行数 def getRowsClosNums(self): rows = self.ws.max_row columns = self.ws.max_column return rows, columns # 获取指定单元格的值 def getCellValue(self, row, column): cellvalue = self.ws.cell(row=row, column=column).value return cellvalue # 修改指定单元格值 def setCelValue(self, a, b, cellvalue): self.ws.cell(row=a, column=b, value=cellvalue) if __name__ == '__main__': # 实例化对象,打开文件 mytest = QueClear('errors.xlsx') # 获取总行数 rows = mytest.getRowsClosNums() # 遍历操作 for row in range(2, rows[0]): # 获取正确选项 Answer = mytest.getCellValue(row, 4) # 获取所有选项 Selects = mytest.getCellValue(row, 5) # 在答案选项中匹配正确答案 result = Answer + ':' + re.findall(f'[{Answer}]:(.*?);', Selects)[0] # 设置值 mytest.setCelValue(row, 4, result) # 输出替换的结果,以表示程序没卡死 print(result) # 保存操作结果 mytest.wb.save(mytest.file)
评论 (0)