python调用wps/调用word/调用excle/调用ppt
在实际应用中,我们经常需要接触一些日常的文件,比如word(.doc/.docx)、excle(et)、ppt(.ppt/.pptx)。而python又是你掌握的编程语言,这个时候,你有以下两种选择:
方法一:专用模块
开源社区里提供了很多python专用的操作模块。我们以word文件为例:
有专门的word文档操作模块 python-docx
github位置:github-python-docx
安装后就可以轻松用python对word文档进行编辑,但是在安装时一定要注意查阅Dependencis和Github上的描述部分:
会发现,python-docx需要lxml的支持(>=2.3.2),并且只能保证处理MS Office2007/2008的word。(挺坑的是吧)而且有python版本的限制。
后续在配置环境的时候你又会发现,还需要配置VC++14.0(4个多GB吧)。总之还是很麻烦的(开发环境配置得好的话无所谓。)。
同样的思路,操作excle,可以用xlrd:
操作PPT,也有python-pptx:
感谢伟大的开源社区,给我们提供了这些很好用的软件,但是如果你不想或者不能花那么多时间配置你的开发环境,那也有其他的简便方式(比如你只是想做个简单文件、另存为、排个版之类的)。
方法二:win32com库接入MS office 或者WPS
com接口让我们可以轻松调用本机已经存在的程序来协助完成任务
具体如下:
先根据python版本安装合适的win32com库
然后输入:
import win32com这样你就成功挂载了wps。
import win32com.client
wps=win32com.client.Dispatch('wps application')
一些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 二次开发文档
几乎可以满足一切文件操作需要,比可视化操作只有多没有少。