【一键办公】利用Python实现读取excel再对word文件批量替换

您所在的位置:网站首页 将word里面的内容导入到excel批量怎么弄 【一键办公】利用Python实现读取excel再对word文件批量替换

【一键办公】利用Python实现读取excel再对word文件批量替换

#【一键办公】利用Python实现读取excel再对word文件批量替换| 来源: 网络整理| 查看: 265

利用Python实现读取excel表,获取数据,到word文件批量替换

文章目录

前言

一、基本思路原理

二、代码实现

三、效果展示

总结

前言

事情是这样的,有一个开证明的工作,就简单的复制粘贴,把excel表格里的名字,学号,时长输到word文件中。不繁琐,就是无脑机械化。 所以就想着利用Python实现文件的批量处理

一、基本思路原理

基本思路:

先引入docx方法和openpyxl方法定义一个替换函数 replace_word 方法打开excel表读取值for循环遍历,逐行获取数据执行函数,执行替换操作

关于for循环的说明: 

`title_sheet.iter_rows(min_row=2, values_only=True)` 是一个在Python中使用Openpyxl库操作Excel文件的代码片段。这里解释一下这段代码的含义: 1. `title_sheet`: 这是指一个Excel工作表对象。在Openpyxl中,你可以通过加载一个Excel文件并指定工作表名称来获取一个工作表对象。 2. `iter_rows()`: 这是Openpyxl库中的一个方法,用于遍历工作表中的行。它允许你按行处理数据。 3. `min_row=2`: 这个参数指定了从工作表的第二行开始迭代。在Excel中,行号是从1开始的,所以`min_row=2`实际上是从第二行开始。 4. `values_only=True`: 这个参数告诉`iter_rows()`方法只返回每一行的单元格值,而不是返回包含单元格对象的行。这意味着返回的将是单元格中的数据,而不是单元格对象本身。 综上所述,`title_sheet.iter_rows(min_row=2, values_only=True)` 的作用是遍历名为`title_sheet`的工作表,从第二行开始,只返回每一行的单元格值。这在处理大量数据时非常有用,因为它可以让你只关注数据本身,而不是Excel工作表的底层结构。

二、代码实现 from docx import Document from openpyxl import load_workbook #定义一个替换的函数 def replace_word(doc, old_word, new_word): for p in doc.paragraphs: # 遍历文档段落 for run in p.runs: # 遍历段落的字块 run.text = run.text.replace(old_word, new_word) #替换字块的文字,然后赋值给字块 # 打开工作簿获取工作表 title_wb = load_workbook('C:/Users/xxxxxx.xlsx') #引入excel文件 title_sheet = title_wb.active #将title_wb工作簿中的活动工作表赋值给title_sheet变量。这样就可以通过title_sheet变量来操作这个工作表了。 # 遍历工作表中的数据 for row in title_sheet.iter_rows(min_row=2, values_only=True): # 获取“名字” name = row[0] # 获取“微信号”学号 wxid = row[1] # 获取“时长” time = row[2] # 打开Word文件 doc = Document('C:/Users/xxxxxxxx/志愿时长1.docx') #引入模板文件 # 执行替换函数 replace_word(doc, '张三', '{}'.format(name)) replace_word(doc, '12345678', '{}'.format(wxid)) replace_word(doc, '80', '{}'.format(time)) doc.save('C:/Users/xxxxxx/志愿时长-{}.docx'.format(name)) #储存位置

参考了他人的博客http://t.csdnimg.cn/bdHi0 http://t.csdnimg.cn/aTwfy 感谢大佬!!!

三、效果展示

excel表格如下:

点击程序启动

收工!  

总结

以上就是今天要分享的内容。

虽然这个代码很简单很简单,,但是做成一个小工具,提高工作效率,就感觉还是蛮有意义的。

后续可能我会考虑把他封装成一个小程序,加入界面。到时候就再发一期版本2.0哈哈哈

  栗花落香奈乎真漂亮(我是鬼灭粉嘿嘿)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3