欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python之Excel编辑-[小试牛刀]批量替换excel中字符串

程序员文章站 2022-03-11 10:33:46
...

任务1:批量替换excel中指定字符串

解决思路:
逐个cell遍历Excel表格,进行字符串比对,找到匹配的cell,并将cell内容替换成新字符串

app = xw.App(visible=True, add_book=False)
    file_list = os.listdir(file_path)
    for file in file_list:
        if '~$' in file:
            continue
        if file.split('.')[-1] != 'xlsx':
            continue
        wb = app.books.open(file_path + '\\' + file)
        for sheet in wb.sheets:
            for cell in sheet['A1'].expand('table'):#逐个cell遍历表格,这里可以通过range来设定搜索的范围
                if cell.value == oldName:#比对cell的内容
                    cell.value = newName

        wb.save()
        wb.close()
    app.quit()

任务2:批量替换指定区域内部分字符串

解决思路:
逐个cell遍历Excel表格中指定区域内单元格,进行字符串比对,若包含指定字符串,则将字符串进行替换后重新写入单元格内

app = xw.App(visible=True, add_book=False)
    file_list = os.listdir(file_path)
    for file in file_list:
        if '~$' in file:
            continue
        if file.split('.')[-1] != 'xlsx':
            continue
        wb = app.books.open(file_path + '\\' + file)
        for sheet in wb.sheets:
            if sheet.name == 'Sheet1':
                continue
            for cell in sheet['A1:B3']: #遍历A1:B3区域内的单元格
                try:
                    if oldName in cell.value: #检查是否包含指定字符串
                        cell.value = cell.value.replace(oldName, newName) #进行字符串替换后重新写入到对应cell中
                except:
                    pass
        wb.save()
        wb.close()
    app.quit()