python操作wps/操作word/操作excle/操作ppt:文档专用模块或者二次开发

时间:2022-04-17 01:51:32

python调用wps/调用word/调用excle/调用ppt

在实际应用中,我们经常需要接触一些日常的文件,比如word(.doc/.docx)、excle(et)、ppt(.ppt/.pptx)。而python又是你掌握的编程语言,这个时候,你有以下两种选择:

方法一:专用模块

开源社区里提供了很多python专用的操作模块。我们以word文件为例:

有专门的word文档操作模块 python-docx

python-docx

github位置:github-python-docx

安装后就可以轻松用python对word文档进行编辑,但是在安装时一定要注意查阅Dependencis和Github上的描述部分:

python操作wps/操作word/操作excle/操作ppt:文档专用模块或者二次开发

python操作wps/操作word/操作excle/操作ppt:文档专用模块或者二次开发

会发现,python-docx需要lxml的支持(>=2.3.2),并且只能保证处理MS Office2007/2008的word。(挺坑的是吧)而且有python版本的限制。

后续在配置环境的时候你又会发现,还需要配置VC++14.0(4个多GB吧)。总之还是很麻烦的(开发环境配置得好的话无所谓。)。


同样的思路,操作excle,可以用xlrd:

lxrd官方页面


操作PPT,也有python-pptx:

python-pptx


感谢伟大的开源社区,给我们提供了这些很好用的软件,但是如果你不想或者不能花那么多时间配置你的开发环境,那也有其他的简便方式(比如你只是想做个简单文件、另存为、排个版之类的)。

方法二:win32com库接入MS office 或者WPS


com接口让我们可以轻松调用本机已经存在的程序来协助完成任务

具体如下:

先根据python版本安装合适的win32com库

然后输入:

import win32com
import win32com.client

wps=win32com.client.Dispatch('wps application')
这样你就成功挂载了wps。

一些WPS的版本在挂载时应该输入:

wps=win32com.client.Dispatch('kwps application')
ofiice 的话应该有另外的名称。

或者直接:

word=win32com.client.Dispatch('word application')
挂载其中的word组件

接下来,我们就可以使用所挂载程序的内部指令来对word.excle.ppt文件进行操作(基本无限制,如果安装了最新版本的office)

比如

Doc1=wps.Documents.Open(‘路径’)
打开文件,或者:

Doc1.Documents.SaveAs2(FileName=‘名称’,FileFormat=xdFormatText)
另存为TXT


具体想要的操作,可以参考对应软件的二次开发文档

比如 WPS V9 二次开发文档

几乎可以满足一切文件操作需要,比可视化操作只有多没有少。