当前位置: 首页 > news >正文

大连网站建设详细流程盘锦网站网站建设

大连网站建设详细流程,盘锦网站网站建设,跨境电商平台有哪些类型,陕西住房建设厅考试官方网站一、问题的提出 有时#xff0c;我们手头上有多个Excel或者Word文件#xff0c;但是领导突然要求对某几个术语进行批量的修改#xff0c;你是不是有要崩溃的感觉。因为这么多文件#xff0c;要一个一个地打开文件#xff0c;再进行批量替换修改#xff0c;几个文件还好我们手头上有多个Excel或者Word文件但是领导突然要求对某几个术语进行批量的修改你是不是有要崩溃的感觉。因为这么多文件要一个一个地打开文件再进行批量替换修改几个文件还好如果是成百上千的文件我想你一会儿就感觉自己被搞晕了不仅搞不清修改了没有修改完而且已经修改的也不知道修改的彻底不。 于是问题来了当我需要对多个Excel和Word文件中的关键字进行替换而且不改变原文件的格式同时删除源文件我们该怎么办这些office文件可能分布在不同的文件夹下所以替换后还要存放在原来的文件夹。同时我们编写的程序还要在Windows和MacOS环境下都可以使用。 二、算法分析 由于要在多个环境下使用我们放弃VBA考虑采用Python编程的方法来解决。 1. 第一步 读取一个替换关键字的批量替换表.xlsx生成一个字典这样是为了后面可以批量替换。第二步 遍历当前目录下所有目录包括上当的文件主要是docx和xlsx文件如果是doc和xls文件还要考虑两这两种格式的文件进行批量的转化见下面的文章 。 批量转doc和xls为docx和xlsx文件 2. 第二步是 遍历当前所有目录中的文件用if条件根据文件扩展名的不同来筛选出docx和xlsx文件。代码如下 for root, filefolder, files in os.walk(os.curdir):for file in files:if file.endswith(docx):file_path os.path.join(root, file)for key, value in dic.items():word_replace_keywords(file_path, key, value)elif file.endswith(xlsx) and os.path.basename(file)!批量替换表.xlsx:file_path os.path.join(root, file)for key, value in dic.items():excel_replace_keywords(file_path, key, value) 3. 第三步是对于docx和xlsx文件分别进行替换处理主要采用了python-docx和openpyxls这两个模块来进行替换。针对docx文件我们用Document()来读取用以下代码来替换 def info_update(doc, old, new):for para in doc.paragraphs:for run in para.runs:if old in run.text:run.text run.text.replace(old, new) 对于xlsx文件我我们通过下面的代码实现关键字替换同时不改变原来关键字的格式。 def replace_cell_text_with_format(cell, keyword, replacement):paragraphs cell.paragraphsfor paragraph in paragraphs:for run in paragraph.runs:if keyword in run.text:new_text run.text.replace(keyword, replacement)run.clear() # 清除当前文本new_run run._element # 创建新的runnew_run.text new_text # 设置新文本for key in run._r.attrib.keys(): # 复制格式属性if key ! t:new_run.attrib[key] run._r.attrib[key] 4. 第四步 我们要保存替换后的文件同时用os.remove()删除原来的文件。 三、代码展示 最终我们编制出70多行的代码一键实现了多文件、多关键字、保存源格式又能在Windows和苹果电脑环境使用的程序。代码如下 import os from docx import Document from openpyxl import load_workbookdef info_update(doc, old, new):for para in doc.paragraphs:for run in para.runs:if old in run.text:run.text run.text.replace(old, new)def replace_cell_text_with_format(cell, keyword, replacement):paragraphs cell.paragraphsfor paragraph in paragraphs:for run in paragraph.runs:if keyword in run.text:new_text run.text.replace(keyword, replacement)run.clear() # 清除当前文本new_run run._element # 创建新的runnew_run.text new_text # 设置新文本for key in run._r.attrib.keys(): # 复制格式属性if key ! t:new_run.attrib[key] run._r.attrib[key] def get_dic():workbook load_workbook(批量替换表.xlsx)sht workbook.activedic {}for c1,c2 in zip(sht[A],sht[B]):if c1.value! None and c2.value! None:dic[c1.value] c2.valuereturn dicdef word_replace_keywords(file_path, keyword, replacement):doc Document(file_path)info_update(doc, keyword, replacement)try: for table in doc.tables:if not any(cell.text for row in table.rows for cell in row.cells):continue for row in table.rows:for cell in row.cells:if keyword in cell.text:replace_cell_text_with_format(cell, keyword, replacement)except Exception as e:print(Error processing table:, e)doc.save(file_path)def excel_replace_keywords(file_path, keyword, replacement):wb load_workbook(file_path)for sheet_name in wb.sheetnames:sheet wb[sheet_name]for row in sheet.iter_rows():for cell in row:if cell.value and keyword in str(cell.value):cell.value str(cell.value).replace(keyword, replacement)wb.save(file_path)wb.close()def get_replaced(dic): for root, filefolder, files in os.walk(os.curdir):for file in files:if file.endswith(docx):file_path os.path.join(root, file)for key, value in dic.items():word_replace_keywords(file_path, key, value)elif file.endswith(xlsx) and os.path.basename(file)!批量替换表.xlsx:file_path os.path.join(root, file)for key, value in dic.items():excel_replace_keywords(file_path, key, value) def main():dic get_dic()get_replaced(dic) if __name__ __main__:main() 以上代码的优势在于速度快设置好关键字后一键替换可以在多个环境下使用相比VBA代码Python代码的执行速度更快、操作更简单、省时省力。 四、注意事项 1. 运行代码前一定要安装Python3.9及以上版本同时安装openpyxl和python-docx两个模块。 2. 执行程序前要把doc和xls文件分别转化为docx和xlsx文件这样更方便替换。 3. 执行前要在程序文件目录下建立一个xlsx文件命名为批量替换表.xlsx在表的A列放上要查找的关键字B列放要替换的关键字。 4. 如果有问题可以随时与我联系也可以通过下面进行提问。
http://www.hkea.cn/news/14276340/

相关文章:

  • 专业html5网站建设展厅展示设计
  • 做网站课程国际新闻最新消息今天乌克兰与俄罗斯
  • 内江网站建设公司哪公司建设网站
  • 网站建设流程 费用网站系统与程序的链接
  • 莱阳有网站建设推广的吗wordpress 上传目录权限
  • wordpress做大型网站crm客户管理系统 项目
  • wordpress极简优化新十条
  • wordpress自适应网站博客模板最新网站上的html内容怎么修改
  • 网站建设从初级到精通用网站
  • 重庆做手机网站建设wordpress页面展示多个文章
  • 做航模的网站安卓手机优化软件排名
  • 广东省水利工程建设信息网站外包公司辞退有赔偿吗
  • 网站推广文章 优帮云能不能不用虚拟主机建设网站
  • 把自己做的动画传到哪个网站上商丘网红打卡地
  • 网络公司网站报价方案快法务网站开发
  • 购买东西网站怎么做网站制作客户寻找
  • 怎样做网站流量统计wordpress文章附件
  • 做的网站没流量it外包服务网
  • 莱芜新闻电视台节目表辛集seo网站优化
  • 网站的规划与建设案例分析邮编域名做网站
  • 企业网站建设价格wordpress内容页主题修改
  • 网站建设陕icp做学院网站用到的动图
  • 与网站设计相关的软件主要有注册资金1000万实际需要多少钱
  • 做企业网站前期需要准备什么资料iis7wordpress
  • 做网站预算表南阳网站运营
  • 做优化网站网页微信版二维码过期怎么办
  • 网站搭建素材群php网站前后台源代码
  • 知名商城网站建设多少钱商标注册网址
  • themeforest wordpress成都优化网站关键词
  • 网站建设创始人制作网站 太原