2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > python排版word文档 效率 【效率工具】用Python根据excel中数据批量生成word文档(适用劳...

python排版word文档 效率 【效率工具】用Python根据excel中数据批量生成word文档(适用劳...

时间:2020-01-25 09:02:36

相关推荐

python排版word文档 效率 【效率工具】用Python根据excel中数据批量生成word文档(适用劳...

【效率工具】用Python根据excel中数据批量生成word文档(适用劳

【效率工具】用Python根据excel中数据批量生成word文档(适用劳动合同、通知书等应用场景)

大家在工作中一定经常遇到类似的情况:

1、制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大。

2、制作通知书,从excel表格中将每个人的数据分别填入到docx通知书中。

3、制作XX方案,Word文档布局和格式统一,只是需填充的内容信息来源于Excel。

4、其他各式各样的场景,反正都满足同样的条件,就是:个性化定制多份Word文档,而个性化信息来源于格式统一的Excel。

这次是应同事小伙伴邀约,以及自己之前也遇到过这样的需求,就搞了一个快速生成文档的小程序。这个,非常适合摸鱼大王的风格。

参考原帖子没有完整代码,不过提供了很有效的思路,在此感谢。

我在原帖子上加上了循环遍历Excel,以及新增文件夹放置生成文件。下面是可直接执行的完整代码。

from docxtpl import DocxTemplate

from datetime import datetime

import time

import datetime

import pandas as pd

import os

zpath=os.getcwd()+'\\'

# zpath=r'D:\【批量工具_效率工作】\批量_使用Python根据excel中数据批量生成word文件(word文件填空)'+'\\'

current_file_path=zpath+r'\文档生成结果'+str(datetime.date.today())

try:

os.mkdir(current_file_path)

except:

pass

tpl = DocxTemplate(zpath+'建大附小家长通知书.docx')

#这些字段从csv中获取

grade = pd.read_excel(zpath+'成绩单.xlsx')

# stid = grade['学号']

name = grade['姓名'].str.rstrip() # str.rstrip()用于去掉换行符

chinese = grade['语文']

math = grade['数学']

english = grade['外语']

# 遍历成绩单,逐个生成通知书

num = grade.shape[0]

for i in range(num):

context = {

"name": name[i],

"chinese": chinese[i],

"math": math[i],

"english": english[i],

"date": time.strftime('%Y-%m-%d',time.localtime(time.time())),

# "date": {0:%Y}年{0:%m}月{0:%d}日".format(datetime.now()),

# "date":time.strftime('%Y-%m-%d',time.localtime(time.time()))

# "date": datetime.now(),

}

tpl.render(context)

tpl.save(current_file_path+r"\{}的建大附小家长通知书.docx".format(name[i]))

附代码所需的模板文件:

成绩单.xlsx (如下)

建大附小家长通知书.docx (如下)

参考帖子:超简单Python将Excel的指定数据插入到docx模板并生成

/weixin_41133061/article/details/88543432?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-4.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-4.nonecase

【效率工具】用Python根据excel中数据批量生成word文档(适用劳相关教程

几个IDEA的Sao技巧效率提升了10倍网友没有灵魂

几个IDEA的Sao技巧,效率提升了10倍,网友:没有灵魂! 我当场懵逼了~ IDEA提供了这么多快捷的方式不用,那还用这种高级编辑器干嘛,干脆用记事本,不就显得更牛逼~ 作为一位IDEA的死忠粉,我也经常用IDEA的骚技巧~ 这里,我给各位同学分享一下,我经常用的

一元变量线性回归(房价预测) Python代码

一元变量线性回归(房价预测) Python代码 前言 本文主要内容是一元变量下的线性回归问题,给定2000~的房价,预测的房价。文中使用了梯度下降法和最小二乘法两种方法去求解。 一、训练数据 year price2000 2.02001 2.52002 2.9 3.147 4.5

python调用MATLAB库绘制直方图

python调用MATLAB库绘制直方图 直方图(histogram)虽然在样式上类似条形图,但它们的作用不一样。直方图用不同的矩形表示频数,常用来观察一组数据的概率分布。在直角坐标中,用横轴表示数据分组,纵轴表示频数或频率,各组与相应的频数就形成了一个个矩形,

python面试模拟真题讲解

python面试模拟真题讲解 一、选择题(32分) 1、python不支持的数据类型有:(A) A、char B、int C、float D、list 2、 x = “foo”y = 2print(x+y) (E) A.foo B.foofoo C.foo2 D.2 E.An exception is thrown 解释:不同数据类型不可以相加,但是字符串可

安装项目(工具、node.js、vux框架、前后端)

安装项目(工具、node.js、vux框架、前后端) 输入命令:node.js 若没有下载则打开网址进行下载安装即可:/download/ 输入命令:npm install vue-cli -g 打开网址:/;输入命令: npm install -g cnpm --registry=http

Linux 服务器(命令行)安装TensorFlow-GPU 用python虚拟环境

Linux 服务器(命令行)安装TensorFlow-GPU 用python虚拟环境 ??研究生第二年了,无论是windows还是linux环境,安装TensorFlow-GPU已经好多次了,第一次纯靠自己安装成功,正值国庆期间比较轻松,写个博客记录一下。 ??本次安装主要参考这个博客,但是中间好

Python学习笔记之第三章内建数据结构、函数以及文件

Python学习笔记之第三章内建数据结构、函数以及文件 一、数据结构和序列 1、 元组:不能修改,()来初始化 使用tuple函数将任意序列或迭代器转换为元组 tup = tuple(String)tup Output:(‘S’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’) 如果元组中有一个对象是

Python-GUI PyQT5案例:注册界面窗体设计(含扇形菜单)

Python-GUI PyQT5案例:注册界面窗体设计(含扇形菜单) QPushButton {font: 10pt 楷体;border-radius: 25px;background-color: rgb(254, 83, 123);border: 2px solid rgb(217, 166, 169);color:white;}QPushButton:hover {border: 4px double rgb(223, 188,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。