乐趣区

关于python:程序员把妹之让行政小姐姐xing奋的代码

原文地址以及视频演示成果以及代码获取,请点击下方

超链接在这里!!!!

视频演示成果

前言

有个小姐姐在后盾询问我,最近企业有一个流动,有一个几百人的表单,还有一份邀请函模板文档,最近不小心刷到了我。上图!


尽管可能没听懂你在说什么,你也不给我复制粘贴的内容,如果我没猜错的话。应该是这样的:

右侧 *** 内容替换成 左侧的 单位 + 姓名 或者是 姓名

无题

不晓得取什么题目好,就这样,临时就定性为:用Python 批量生成 word 版邀请函

日常水一下:

  • 模块

    • openpyxl 中的 load_workbook 办法 .
    • docx (在这里卖个关子,想看残缺的请点击超链接)
  • 下载.

    • pip install openpyxl

获取受邀人的信息

咱们首先导入 openpyxl 模块中的 load_workbook 模块。

from openpyxl import load_workbook

咱们应用 load_workbook(path) 读取文件,并存在变量 wb 外面。

wb=load_workbook('data/name_list.xlsx')
ws=wb['name']

接下来咱们须要选取咱们所须要的“Sheet”,也就是名字叫 ”name” 的那张表

ws=wb['name']

而后定义一个空列表 names 来存储受邀人单位和名字信息。随后咱们遍历工作表,将所有信息提取进去存入列表names, 因为工作表第一行是题目,所以咱们从第 2 行开始,最大一行 + 1 完结range(2,ws.max_row+1)

names=[]
for row in range(2,ws.max_row+1):
    company=ws["A"+str(row)].value
    name=ws["B"+str(row)].value
    names.append(f"{company} {name}")

以上步骤实现后,咱们就能够开始批量生成邀请函了。首先导入解决 word 的库

import docx

docx.Document('data/ 邀请函.docx')为固定写法,括号内填写邀请函模板的门路及文件名。doc可了解为就是这个名为“邀请函”word 文件。而后遍历 names 列表,将外面的信息一一写入 word 文件的第二段的第三个 run,即 doc.paragraphs[1].runs[2].text=name,最初,用save 保留即可

doc=docx.Document('data/ 邀请函.docx')
for run in doc.paragraphs[1].runs:
    for name in names:
        run.text = run.text.replace('****', name)
        doc.save(f'data/ 邀请函_{name}.docx')

成果

退出移动版