图片类word报告生成器
由于最近需要收集同伴们的核酸检测报告,做成word文档提交,就写了一个程序。本代码推荐使用jupyter notebook打开。
输入数据:图片文件,图片文件命名需为“姓名+其他字段”。
输出要求格式:姓名+固定词(例如:李华核酸检测报告),后填对应图片。
结果示例如下:
图片数据
需要用到的工具包
pip install os #使用 os 工具包读取文件名称
pip install python-docx # 使用python-docx制作word文档
pip install torch #自然语言处理依托环境
pip install fastnlp #自然语言处理依托环境
pip install fastHan #命名实体识别工具包 提取文件名称中的姓名
第一个cell:获取文件名称,以提取文件名中的姓名
图片数据存储在文件夹中,文件夹命名为“测试数据”。
将该代码文件,与“测试数据”文件夹放置在同一目录下。
import os
def getfiles(file):filenames=os.listdir(file)print("file_list:")print(filenames,'\n')return filenames
运行cell
在运行结果栏的输入处,输入图片文件夹名称“测试数据”。
运行结果如下:
第二个cell:输入图片文件夹名称,删除不必要元素
print("请输入图片文件夹名称:")
# 当本程序文件与图片文件放置在同一根目录下时,输入文件名即可,无需加入引号。
file_path = input()filenames = getfiles(file_path)
for i in range(len(filenames)-1):if filenames[i] == '.ipynb_checkpoints':del filenames[i]
运行cell
第三个cell:得出结果
首先,封装单人报告函数
其次,输入图片标题固定字段,如“李华核酸检测报告单”中“核酸检测报告单”即为固定字段。title变量。
最后,输入存储文件的名字,例如“今日全员核酸检测报告汇总”
运行cell
from docx import Document
from docx.shared import Cm
from fastHan import FastHandef single_hs(document,heading,pic_path):paragraph = document.add_paragraph(heading)document.add_picture(pic_path,width = Cm(14.5),height = Cm(21))document.add_page_break()return documentresult = Document()
title = input('please input title which connect to stu_name:\n')model=FastHan()
for file in filenames:pic = './'+file_path+'/'+file
# print(pic)stu = model(file,target = "NER")stu = stu[0][0][0]heading = stu + titlesingle_hs(result,heading,pic)print("please input save file name:")
save = input()
result.save(save+'.docx')
完整代码如下
import os
import re
from docx import Document
from docx.shared import Cm
from fastHan import FastHandef getfiles(file):filenames=os.listdir(file)print("file_list:")print(filenames)print()return filenamesdef single_hs(document,heading,pic_path):paragraph = document.add_paragraph(heading)#通过调整width 与 height参数以调整图片大小(以厘米为单位)document.add_picture(pic_path,width = Cm(14.5),height = Cm(18))document.add_page_break()return documentif __name__ == '__main__':# 本程序文件与图片文件需放置在同一根目录下,输入文件名即可,无需加入引号。print("请输入图片文件夹名称:")file_path = input()print('请输入图片类型(如:.jpg):')pic_type = input()#获取文件名称列表filenames = getfiles(file_path)#去除文件名称列表中可能存在的扩展文件file_list = []# 获取图片文件个数file_len = len(filenames)# print(file_len)for i in range(file_len-1):if re.search(pic_type,filenames[i]) is not None:file_list.append(filenames[i])# print(file_list)result = Document()print('请输入图片标题固定字段:')# 将输入的标题固定字段赋予变量titletitle = input()#加载命名实体识别模型model=FastHan()for file in file_list:pic = './'+file_path+'/'+file# print(pic)# 使用命名实体识别模型抽取图片文件命名中的姓名信息stu = model(file,target = "NER")stu = stu[0][0][0]#添加图片标题heading = stu + titlesingle_hs(result,heading,pic)print("请输入文件保存名称:")save = input()result.save(save+'.docx')
到此就结束了~
本程序的不完美之处在于需要手动复制文件列表,待找到方法后更新。
图片类word报告生成器相关推荐
- 使用python在实现图片(包括扫描件的图片类pdf)转换成word文档过程中的常见问题
pdf有两类,一类是别人用word转pdf,你想转过来那种,带有光标那种,计算机能轻松识别,转换相对简单很多.第二类,即图片类pdf,也就是平常工作中看到的各种扫描件,它的识别相对要复杂一些,但又常常 ...
- 【葡萄城报表】还在为画“类Word文档报表”而发愁吗?
[葡萄城报表]还在为画"类Word文档报表"而发愁吗? Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油 ...
- 小程序推荐——那些好用实用的小程序(图片类、资讯类、工具类)
对于自己来说,我既是小程序的使用者.也是小程序开发者. 因此,会经常关注小程序的一些发展动向,同时遇到好的小程序也会收藏起来. 下面我整理了我收藏的小程序并分享给各位,主要有图片制作.效率工具.资讯这 ...
- C#自动生成word报告
C#生成word报告 参考:http://blog.csdn.net/malei0311/article/details/6961082 http://blog.sina.com.cn/s/blog_ ...
- 还在为画“类Word文档报表”而发愁吗?
Word 是非常强大的文档编辑工具,一些行业制式文档都是使用Word来创建的,像教育行业的申请表,履历表,审批表等,像石油业的勘探记录表,记录报告,检测报告等,如房地产业的制式合同,不仅包含大量的文 ...
- python生成器 图片分类_python批量处理图片图片Python迭代器和生成器介绍
Python迭代器和生成器介绍迭代器 迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration ...
- python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+
打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...
- java freemarker 图片_java通过freemarker导出包含富文本图片的word文档
废话不多说,进入正题! 本文重点在于:对富文本图片的导出(基础的freemarker+word模板导出这里不做详细解说哈) (ps:大神的东西太深奥~~懵逼了 一周才搞定,为了方便后来在更加简单,清晰 ...
- java给图片、word、ppt、excel、pdf添加水印
java给图片.word.ppt.excel.pdf添加水印 使用poi.itextpdf.imageio等技术 只支持高版本的office,即支持docx.pptx.xlsx 给word添加水印遇到 ...
- ArcMap AddIN之 word报告插件
说明:该插件为新设计,可能存在未考虑到的漏洞,请验证后使用并自行负责结果 按钮: 功能:通过word标签的形式,配置要素属性与模板word之间的映射关系,实现根据要素属性,生成word报告.word报 ...
最新文章
- 特征工程:特征生成,特征选择(三)
- jeecg3.5.2中上传下载文件的示例中的的一个bug
- 字节字符区别Java_【JAVA基础】字符数组与字节数组的区别
- iPad开发--QQ空间,处理横竖屏布局,实现子控件中的代理
- DHCP服务器--红色箭头
- 小米MIX 4真机亮屏照曝光?真全面屏 边框窄到窒息
- Vue学习笔记(四)—— 前端路由
- mysql8无法修改端口_mysql8.0.18 修改端口报错 Can't start server: Bind on TCP/IP port: Permission denied...
- 流程DEMO-费用报销
- 迷宫问题python实现
- spring mvc 解决后台传递值乱码问题
- 【转】fatal error C1010: unexpected end of file解决方案
- yousa_team团队项目——兼职平台网站 工作进度
- 121道分布式面试题和答案
- 拟合函数,偏差和方差
- oracle 12c pdb数据库全库备份
- 磁盘清理软件:BlueHarvest for Mac
- Windows 10无线网连不上怎么办-旧时光 oldtimeblog
- 纯web端实现条形码识别
- R语言plotly可视化:plotly可视化回归面(plane)、使用mesh3d和add_surface实现三维回归曲面