小编自工作以来,一直处于上下班打卡,晚上没事做的浑浑噩噩的状态,再加上前段时间感情受挫。从而决心改变这个废材一样的状态,挽回失去的感情。于是从自动化生成报告文档入手,决心改变这一切。
写报告文档是一件非常繁琐又容易出现错误的无聊的事情,每天写报告基本上都是处于一个复制粘贴的状态,这样子大量的时间和精力都浪费在了写文档上面。那么为何我们不能将这么繁琐而又无聊,重复的工作交给电脑来做呢?这样我们就能腾出大量的时间来做自己想做的事。
所以,小编萌发出了这样的一个思路。首先,报告是必须要电脑来生成的,我们只需要给出电脑为我们生成报告所需要的数据源(此处,我将数据保存为csv文件)。而我们的代码不能随着上层领导的修改而修改,所以此处我们还需要一个报告的模板。那么接下来,我们的思路很简单,就是将我们的数据源写入模板当中,从而生成报告。
首先,创建一个目录结构,如图:
其中report.py便是我们写的脚本,而inputSource则是存放数据源和报告模板等。outputSource则是存放输出的文档。
这里小编提醒各位读者模板必须保存为docx格式(不然会出现很多问题),python和PC的位数必须要相同(不然无法读取word Application),pywin32只能在windows下运行(都说了是win32了),而小编的操作系统是win10 64位,运行环境是python3.7 64位,工具是eclipse,直接在cmd下使用pip命令可下载pywin32,命令为:pip install pywin32,还有这不是零基础入门python,需要读者们掌握python的基本语法。废话不多说直接上部分关键代码。以下代码是关于docx文件的读取和保存。
# 导入模块
import os;
import win32com.client;
# 读取word application
app = win32com.client.Dispatch('Word.Application')
# 打开文件,经测试要是绝对路径
doc = app.Documents.Open(os.getcwd()+"\\inputSource\\report.docx");
# 保存文件
doc.SaveAs(os.getcwd()+"\\outputSource\\report.docx");
# 关闭当前doc文件
doc.Close();
本文废话居多,所以相当于一个介绍吧!后续文章,小编一定会把一些技术和骚思路奉献出来。给大家对于编写自动化生成报告提供一个思路。
最后的最后,我想对某人说:S,l heart you.
领取专属 10元无门槛券
私享最新 技术干货