当前位置:网站首页 > 更多 > 编程开发 > 正文

[Python] 使用Python遍历修改Excel单元格的值

作者:CC下载站 日期:2020-06-22 00:00:00 浏览:53 分类:编程开发

这次的任务要求是这样的


为了这位老哥的学习,于是就用Python帮了一把,一共300多题,要是一个个来还不得累死。

于是在线学习了一下Python操作Excel,需要用到一个模块openpyxl

源文件图:

成品图:

代码:

#-*-coding:utf-8-*-
"""
-------------------------------------------------
@Author:Lan
@Blog:www.lanol.cn
@Date:2020/6/21
@Description:I'minchargeofmyCode
-------------------------------------------------
"""
importre

importopenpyxl


classQueClear:
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]

#获取总行数
defgetRowsClosNums(self):
rows=self.ws.max_row
columns=self.ws.max_column
returnrows,columns

#获取指定单元格的值
defgetCellValue(self,row,column):
cellvalue=self.ws.cell(row=row,column=column).value
returncellvalue

#修改指定单元格值
defsetCelValue(self,a,b,cellvalue):
self.ws.cell(row=a,column=b,value=cellvalue)


if__name__=='__main__':
#实例化对象,打开文件
mytest=QueClear('errors.xlsx')
#获取总行数
rows=mytest.getRowsClosNums()
#遍历操作
forrowinrange(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)


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯