前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python遍历修改Excel单元格的值

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

作者头像
SingYi
发布2022-07-14 14:58:44
2.2K0
发布2022-07-14 14:58:44
举报
文章被收录于专栏:Lan小站Lan小站

这次的任务要求是这样的

image.png
image.png

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

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

源文件图:

image.png
image.png

成品图:

image.png
image.png

代码:

代码语言:javascript
复制
# -*- 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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档