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

目标:用python处理doc文件

方法:引入win32com模块

**************************************************************************

一、安装

**************************************************************************

首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了。。。)

下载地址:http://sourceforge.net/projects/pywin32/files/

python处理word文件:win32com用法详解找到正确匹配的

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

下载之后,安装即可:

**************************************************************************

二、应用1 拷贝doc文件内容

**************************************************************************

现在,就可以用起来了。

以下是一个实例,将D:\a.doc中的内容复制到新的doc中去,新文件命名为D:\b.doc

mt.py

#-*- encoding: utf8 -*-

‘‘‘

Created on 2011-12-01

处理doc文件

@author :

‘‘‘

from win32com import client    #将模块加载进来

python处理word文件:win32com用法详解word = client.Dispatch(‘Word.Application‘)

python处理word文件:win32com用法详解#word.Visible = 0

# 打开一个已存在的文件

python处理word文件:win32com用法详解doc = word.Documents.Open( r‘D:\a.doc‘)

# newdoc为新word文件

newdoc = word.Documents.Add()

python处理word文件:win32com用法详解docC = word.Documents.Count

#打印doc(第一个word文件)内容,中文不能打,报错

print doc.Content

python处理word文件:win32com用法详解#range = newdoc.Range(0,0)

range = newdoc.Range()#尾部

python处理word文件:win32com用法详解#range = newdoc.Range(doc.Content.Strat,doc.Content.end)

#range.InsertBefore(‘daisy‘)#在范围前写入字符串

python处理word文件:win32com用法详解range.InsertAfter(doc.Content)

newdoc.SaveAs(r‘D:\b.docx‘)  #另存为b.docx(office2010)

# 关闭

doc.Close()

newdoc.Close()

word.Quit()

部分参考于:http://hi.baidu.com/?????/blog/item/70e7f388a7ea97ba0f244494.html

#链接word应用进程

#可视化1(可以看见该word进程),不可视0(后台运行word进程).

#后面打开的文件前面加r,不加的话后面的\就变成了转义字符。得是中文名

获取打开word进程个数,此时为2

取得Range物件,文件的最首端。

# 取得Range物件,范围整份文件

#将doc的内容添加到newdoc的最后

**************************************************************************

二、应用2 实际应用

**************************************************************************

下面来实现最初的目的:将教育学文件夹下的02-09(教育学09.doc)年的试题合并到out.docx中去。

edutest.py

#-*- encoding: utf8 -*-

‘‘‘

Created on 2011-12-01

处理word文件

@author : xiaodi

‘‘‘

import os, string, shutil

from win32com import client

#原本叫做教师资格证,教育学

python处理word文件:win32com用法详解dirname = "D:\\Learning\\other\\Teacher\\Edu"

word = client.Dispatch(‘Word.Application‘)

newdoc = word.Documents.Add()    #*0*.doc

python处理word文件:win32com用法详解for filen in os.listdir(dirname):

python处理word文件:win32com用法详解    if ‘0‘ not in filen:

continue

python处理word文件:win32com用法详解    fileinname = os.path.join(dirname,filen)

doc = word.Documents.Open( fileinname)

#fileoutname = os.path.join(dirname,‘out2.docx‘)

# print fileoutname

# shutil.copy(fileinname,fileoutname)

range = newdoc.Range()

range.InsertAfter(fileinname + ‘\n‘)

python处理word文件:win32com用法详解range.InsertAfter(doc.Content)

range.InsertAfter(‘\n‘)

doc.Close()

python处理word文件:win32com用法详解newdoc.SaveAs(r"D:\Learning\other\Teacher\Edu\out.docx")

newdoc.Close()

word.Quit()

print ‘ok‘

**************************************************************************

三、总结

**************************************************************************

几年前搞的东西了,现在直接从原本存的word文档拷贝过来。(20131218)

看样子还是失败的例子。。.

python处理word文件:win32com用法详解,布布扣,bubuko.com

时间: 2024-12-14 18:04:58

python处理word文件:win32com用法详解的相关文章

python操作word、ppt的详解

python使用win32com的心得 python可以使用一个第三方库叫做win32com达到操作com的目的, 我是安装了ActivePython的第三方库,从官网下载了安装包,该第三方库几乎封装了所有python下面的win32相关的操作,例如win32api,win32gui等等,可以说是比较齐全的了,下载地址可以自行百度获取.         主要是有个项目可能要用到ppt转换成视频的功能. 之后在想使用com操作excel还有word,ppt的时候,相信大部分人跟我一样,都是搜索py

python中os.walk的用法详解

python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入要使用os.walk,首先要载入该函数 可以使用以下两种方法 import os from os import walk 2.使用 os.walk的函数声明为: walk(top, topdown=True, οnerrοr=None, followlinks=False) 参数 top 是你所要便利的目录的地址 topdown 为真,则优先遍历top目录,否则优先遍历top的子目

ios开发 <AppName>-Prefix.pch文件的用法详解

我们知道,每新建立一个工程,比如说HelloWord,在分类SupportingFiles里都会有一个以工程名开头-Prefix.pch结尾的文件,如HelloWord-Prefix.pch.对于这个文件,很长一段时间里笔者都没觉得它碍事.直到有一天笔者学习NSLog看网上的教程,大家是怎样在最终提交应用的时候,一次性将NSLog语句移除.网上大多转来转去的方法,都是说把如下的语句 #ifdef DEBUG#    define DLog(...) NSLog(__VA_ARGS__)#else

python基础:\r的用法详解

1 import sys 2 import time 3 print("ab\rcd\ref") 4 5 for i in range(65,91): 6 s="\r{name:s}".format(name=chr(i)) 7 time.sleep(0.5) 8 sys.stdout.write(s) 第一个print输出: ef 第二个输出: A变到Z(没有换行,每次都是一个字母显示,下一个字母替换上一个字母) \r 默认表示将输出的内容返回到第一个指针,这样的

Django文件上传机制用法详解(转)

Django文件上传机制用法详解 http://www.jbxue.com/article/24283.html 分享下Django文件上传机制的用法,包括基本上传文件的原理,以及如何处理上传文件的方法,需要的朋友参考下. 当Django处理上传一个文件时,文件数据被放在request.FILES中. 这个文档解释文件怎么样被存储在磁盘上或者内存中,怎样定制默认的行为. 一,基本文件上传考虑一个包含FileField的简单的表单: 复制代码 代码示例: from  django  import 

Python实用技巧:global关键字的用法详解

这篇文章主要介绍了python global关键字的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下: 想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念.global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例 一.变量作用域的说明 1.局部变量 1 def a(): 2 ## 菊部变量 - ,- 3 local = 1 4 print(local) 5 ## 全局无法使用,只有自己可用

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m if=file 输入文件名,缺省为标准输入. of=file 输出文件名,缺省为标准输出. ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节). obs=b

linux cp命令参数及用法详解---linux 复制文件命令cp

linux cp命令参数及用法详解---linux 复制文件命令cp [[email protected]Linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[[email protected]linux ~]# cp [options] source1 source2 source3 -. directory参数:-a :相当于 -pdr 的意思:-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身:-

Python:file/file-like对象方法详解【单个文件读写】

IO中读写文件操作方法汇总!----The_Third_Wave的学习笔记! 本文由@The_Third_Wave(Blog地址:http://blog.csdn.net/zhanh1218)原创.不定期更新,有错误请指正. Sina微博关注:@The_Third_Wave 如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址. class file(object) |  file(name[, mode[, buffering]]) -> fi