首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python开发之自动化文档生成(一)win32com的使用(上)

小编自工作以来,一直处于上下班打卡,晚上没事做的浑浑噩噩的状态,再加上前段时间感情受挫。从而决心改变这个废材一样的状态,挽回失去的感情。于是从自动化生成报告文档入手,决心改变这一切。

写报告文档是一件非常繁琐又容易出现错误的无聊的事情,每天写报告基本上都是处于一个复制粘贴的状态,这样子大量的时间和精力都浪费在了写文档上面。那么为何我们不能将这么繁琐而又无聊,重复的工作交给电脑来做呢?这样我们就能腾出大量的时间来做自己想做的事。

所以,小编萌发出了这样的一个思路。首先,报告是必须要电脑来生成的,我们只需要给出电脑为我们生成报告所需要的数据源(此处,我将数据保存为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.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180806G1SURT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券