python-记录一次Xlwings操作excel替换内容

import os
import tkinter.filedialog
import xlwings as xw

class Substitute:
path = tkinter.filedialog.askdirectory(title='!!!!!!!!!!!!!!!!!请选择excel存放路径')
# 修改此处替换文本,前为原文本,后为新文本,最后一组后面不需要逗号
dict1 = {
'购销合同': '买卖合同',
'货物运输合同': '运输合同',
'加工承揽合同': '承揽合同',
'建筑安装工程承包合同': '建设工程合同',
'其他营业账簿': '营业帐簿',
'借款合同': '借款合同',
'权利、许可证照': '融资租赁合同',
'仓储保管合同': '仓储合同',
'财产保险合同': '财产保险合同',
'产权转移书据': '产权转移书据 - 股权转让书据(不包括应缴纳证券交易印花税的)',
'建设工程勘察设计合同': '产权转移书据 - 土地使用权、房屋等建筑物和构筑物所有权转让书据(不包括土地承包经营权和土地经营权转移)',
'财产租赁合同': '租赁合同',
'技术合同': '技术合同'
}

def execute(self):
    # 创建一个进程
    app = xw.App(visible=False, add_book=False)
    # 关闭提示信息
    app.display_alerts = False
    # 关闭显示更新
    app.screen_updating = False
    # 循环文件夹
    for i in os.listdir(self.path):
        file_path = os.path.join(self.path, i)
        # 打开工作簿
        wb = app.books.open(file_path)
        # 获取全部工作表名
        sheets = [i.name for i in wb.sheets]
        for sheet in sheets:
            print(i, sheet)
            ws = wb.sheets[sheet]
            for old, new in zip(self.dict1.keys(), self.dict1.values()):
                ws.used_range.api.Replace(old, new)
        wb.save()

Substitute().execute()

posted @ 2024-05-22 21:54  AZ26  阅读(112)  评论(0)    收藏  举报