Python应用—实现和改良word邮件合并功能

1.实现目的

邮件合并也有其缺陷,那就是每次合并数据都需操作插入合并域,如果经常需要根据数据生成固定模板word文件,那么就显得很麻烦

显然利用程序固定数据替换模式就极为方便,需要生成文件时可以一键操作

2.代码实现

import os.path
import xlrd
from mailmerge import MailMergedocx = r'D:\Users\86156\PycharmProjects\pythonProject\邮件合并\1.docx'
xlsx = r'D:\Users\86156\PycharmProjects\pythonProject\邮件合并\1.xlsx'filepath = os.path.dirname(docx)
workbook = xlrd.open_workbook(xlsx)
worksheet = workbook.sheet_by_index(0)
nrow = worksheet.nrowsfor key in range(1, nrow):with MailMerge(docx) as doc:doc.merge(name=str(worksheet.cell_value(key, 1)),position=str(worksheet.cell_value(key, 2)))output = filepath + r'\证明-{}.docx'.format(str(worksheet.cell_value(key, 1)))doc.write(output)workbook = xlrd.open_workbook(xlsx)
worksheet = workbook.sheet_by_index(0)
nrow = worksheet.nrows
list1 = []  # 空列表fo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 提示框

安装: pip install tk0.1.0第三方库地址: https://pypi.org/project/tk/ # 方法一 # -*- coding: UTF-8 -*-from tkinter import messagebox from tkinter import Tkroot Tk() root.withdraw() messagebox.showinfo("提示框", "这是一个…

Matlab画不同指标的对比图

目录 一、指标名字可修改 二、模型名字可修改 三、输入数据可修改 软件用的是Matlab R2024a。 clear,clc,close all figure1figure(1); % set(figure1,Position,[300,100,800,600],Color,[1 1 1]) axes1 axes(Parent,figure1);%% Initialize data points 一、指标名字可修…

MongoDB 学习笔记

一、简介 1、MongoDB 是什么 MongoDB 是一个基于分布式文件存储的数据库,官方地址 https://www.mongodb.com/ 2、数据看是什么 数据库(DataBase)是按照数据结构来组织、存储和管理数据的应用程序。 3、数据库的作用 主要作用是 管理数据…

mybatis中的缓存(一级缓存、二级缓存)

文章目录 前言一、MyBatis 缓存概述二、一级缓存1_初识一级缓存2_一级缓存命中原则1_StatementId相同2_查询参数相同3_分页参数相同4_sql 语句5_环境 3_一级缓存的生命周期1_缓存的产生2_缓存的销毁3_网传的一些谣言 4_一级缓存核心源码5_总结 三、二级缓存1_开启二级缓存2_二级…

利用深度学习模型BiLSTM进行数据预测和分析

1. 导入必要的库和模块: python import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score import matplot…

如何选择适合的数据仓库ETL工具

在数据仓库的建设中,选择合适的ETL(数据提取、转换和加载)工具至关重要。本文将以两款常见的ETL工具——Informatica和Kettle为例,分享如何选择适合的ETL工具来支持数据仓库的构建和管理。通过对比它们的特点和应用场景&#xff0…

Pytorch 9

softmax多分类问题 import torch from torchvision import datasets from torch.utils.data import DataLoader import torch.nn.functional as F# 激活函数 import torch.optim as optim # optim.SGD (随机梯度下降):最基础的优化算法,通过沿着梯度的反…

初等数论精解【5】

文章目录 不定方程基础理论不定方程例子 1: 线性不定方程例子 2: 整数解的不定方程例子 3: 含有多个未知数的不定方程总结 参考文献 不定方程 基础 一元不定方程 1. a 1 x a 0 0 x − a 0 a 1 ,但是不能保证有整数解 2. a n x n a n − 1 x n − 1 . . . a…

Springboot 启动时Bean的创建与注入(二)-面试热点-springboot源码解读-xunznux

Springboot 启动时Bean的创建与注入,以及对应的源码解读 文章目录 Springboot 启动时Bean的创建与注入,以及对应的源码解读11、getBean:200, AbstractBeanFactory (org.springframework.beans.factory.support)12、doGetBean:335, AbstractBeanFactory (…

Vue系列面试题

大家好,我是有用就扩散,有用就点赞。 1.Vue中组件间有哪些通信方式? 父子组件通信: (1)props | $emit (接收父组件数据 | 传数据给父组件) (2)ref | $refs&a…

基于Hutool实现自定义模板引擎,实现json个性化模板引擎转换

文章目录 前言编写引擎类:JsonTemplateEngine编写模板类:CustomTemplate编写测试代码测试json文件测试类 前言 由于百度搜索json模板引擎,推荐的都是一些freemarker之类的,需要引入其他的依赖,而且在编写json模板的时…

学习在测试时学习(Learning at Test Time)_ 具有表达性隐藏状态的循环神经网络(RNNs)

摘要 https://arxiv.org/pdf/2407.04620 自注意力机制在长文本语境中表现良好,但其复杂度为二次方。现有的循环神经网络(RNN)层具有线性复杂度,但其在长文本语境中的性能受到隐藏状态表达能力的限制。我们提出了一种新的序列建模…

LabVIEW多线圈电磁式振动发电机测试

开发了一种基于LabVIEW设计的多线圈电磁式振动发电机测试系统。系统通过高效的数据采集、波峰检测及相位差计算,优化了传统振动发电机的测试流程,提升了电压波形分析的精度和效率,具有较好的应用前景和推广价值。 项目背景 随着可再生能源技…

跨越数据边界:域适应提升目标检测的泛化之舞

跨越数据边界:域适应提升目标检测的泛化之舞 目标检测模型在实际应用中常常面临泛化能力不足的问题,尤其是在数据源和部署环境不一致的情况下。域适应(Domain Adaptation)技术通过减少源域(有标签数据)和目…

遇到not allow unquoted fieldName怎么办

前言 Exception in thread "main" com.alibaba.fastjson2.JSONException: not allow unquoted fieldName, offset 2, character , line 1, column 3, fastjson-version 2.0.25 { "data":null, "code":200, "msg":"成功"…

LIS系统源码,实验室管理信息系统LIS,.Net C#语言开发,支持DB2,Oracle,MS SQLServer等主流数据库

实验室管理信息系统LIS源码,采用.Net C#语言开发,C/S架构。支持DB2,Oracle,MS SQLServer等主流数据库。(LIS系统全套商业源码,自主版权,多家大型综合医院应用案例,适合二次开发&…

Golang | Leetcode Golang题解之第279题完全平方数

题目: 题解: // 判断是否为完全平方数 func isPerfectSquare(x int) bool {y : int(math.Sqrt(float64(x)))return y*y x }// 判断是否能表示为 4^k*(8m7) func checkAnswer4(x int) bool {for x%4 0 {x / 4}return x%8 7 }func numSquares(n int) i…

四、GD32 MCU 常见外设介绍 (6) ADC 模块介绍

6.1.ADC 基础知识 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于外部输入通道、内部输入通道的模拟信号,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。 6.2.GD…

elasticsearch-7.3.1安装注意事项

elasticsearch-7.3.1安装注意事项 一、背景二、步骤1、查看原ES版本2、新环境服务器2.1、是否有elasticsearch2.2、安装elasticsearch2.3、配置参数2.4、启动elasticsearch2.5、设置密码 三、报错-问题总结1、jdk不适用2、bootstrap checks failed3、Address already in use4、…

vue3前端开发-小兔鲜项目-图片切换效果和动态class

vue3前端开发-小兔鲜项目-图片切换效果和动态class!这次实现的效果是&#xff0c;图片预览效果&#xff0c;根据小图片&#xff0c;来实时改变大图&#xff08;预览&#xff09;的效果。同时让动态的特征class也跟着显示出来。 <script setup> import {ref} from vue // …