Excel数据转变为word,及word转PDF

在疫情期间,使用Python 3.6+和特定库实现Excel数据转化为符合国家卫健委要求的Word报告模板,同时介绍了批量将Word转换为PDF的三种方法:迅捷PDF转换器、Python脚本和同事推荐的免费软件,分别分析了它们的优缺点。
摘要由CSDN通过智能技术生成

Excel数据转变为word,及word转PDF

疫情期间,公司第一次接手核酸及抗体检测项目,遂写脚本出具报告。

平台为win10,Python版本用3.6+即可,需要的几个包分别为

xlrd 
pandas
python-docx

其中xlrd需要版本为1.2.0,若使用最新版本,会出现读不出xls的报错。
安装命令为:

pip install xlrd == 1.2.0
pip install pandas
pip install python-docx

确认报告模板

安装好环境后,根据国家卫健委的要求生成具有自家医检所标识的报告模板。
在这里插入图片描述

先根据模板调整好格式后,发现报告模板中由上中下三个表格构成,并找到需要填入的项生成电子表格。
在这里插入图片描述
代码如下:

#!/usr/bin/env python
# coding: utf-8

# # !/usr/bin/env python
# # coding: utf-8

# In[22]:


import docx
import pandas as pd
from docx.oxml.ns import qn
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT


# In[23]:


name_list = pd.read_excel('C:/Users/cjs/Desktop/新冠结果汇总.xlsx')
name_list['身份证号'] = name_list['身份证号'].apply(str)
name_list['报告单号'] = name_list['报告单号'].apply(str)
name_list = name_list.dropna()
name_list['样本编号'] = name_list['样本编号'].apply(str)
name_list['联系电话'] = name_list['联系电话'].apply(int)
name_list['联系电话'] = name_list['联系电话'].apply(str)


# In[24]:


file=docx.Document('D:/jupyter/新模板.docx')
r_par = file.paragraphs
r_tab = file.tables


# In[25]:


for rec in name_list.values:
    r_tab[0].rows[0].cells[1].text = ''
    run000 = r_tab[0].cell(0,1).paragraphs[0].add_run('姓名:' + str(rec[3]))
    r_tab[0].cell(0,0).paragraphs[0].alignment = WD_PARAGRAPH_ALIGNMENT.LEFT
    run000.font.size = docx.shared.Pt(12) 
    run000.font.name = '宋体'
    run000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值