python处理word文件:win32com用法详解

标签:
pythonwordwin32com |
分类: Python |
目标:用python处理doc文件
方法:引入win32com模块
**************************************************************************
一、安装
**************************************************************************
首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了。。。)
http://s12/mw690/002xKR1Agy6F5Uvf7Gb8b&690找到正确匹配的
http://s8/mw690/002xKR1Agy6F5Uvi0Gb57&690
http://s7/mw690/002xKR1Agy6F5UGiS7c66&690
**************************************************************************
二、应用1 拷贝doc文件内容
**************************************************************************
现在,就可以用起来了。
以下是一个实例,将D:\a.doc中的内容复制到新的doc中去,新文件命名为D:\b.doc
mt.py
#-*- '''
Created 处理doc文件
@author: '''
from
#
#
newdoc
#打印doc(第一个word文件)内容,中文不能打,报错
print
range
#range.InsertBefore('daisy')#在范围前写入字符串
newdoc.SaveAs(r'D:\b.docx')
# doc.Close() newdoc.Close() word.Quit() |
部分参考于:http://hi.baidu.com/��ɽ��/blog/item/70e7f388a7ea97ba0f244494
#链接word应用进程
#可视化1(可以看见该word进程),不可视0(后台运行word进程).
#后面打开的文件前面加r,不加的话后面的\就变成了转义字符。得是中文名
获取打开word进程个数,此时为2
取得Range物件,文件的最首端。
#
#将doc的内容添加到newdoc的最后
|
**************************************************************************
二、应用2 实际应用
**************************************************************************
下面来实现最初的目的:将教育学文件夹下的02-09(教育学09.doc)年的试题合并到out.docx中去。
edutest.py
#-*- '''
Created 处理word文件
@author: '''
import
from #原本叫做教师资格证,教育学
word
newdoc
newdoc.Close() word.Quit()
print
http://s5/mw690/002xKR1Agy6F5V4PEXy54&690
************************************************************************** 三、总结 ************************************************************************** 几年前搞的东西了,现在直接从原本存的word文档拷贝过来。(20131218) 看样子还是失败的例子。。. |
因为下面的os.listdir不能正确识别中文文件夹名,所以改成了英文名 注意有两竖杠
获取教育学文件夹下的文件 只要带0的:因为只有02-09年的文件名带0,其他都不带 生成绝对路径,原本文件名叫做教育学02.doc全部改成02.doc,不改也对 上一个例子却必须是中文名。。。
#尝试将源文件复制到目的文件,以便保持源文件的完整。失败T_T 将02-09年的文件名字绝对路径写到out.doc中(能写中文名) #不能包含中文内容,不识别T_T
另存为,还是得是 |