python 操作word文档
因为工作需要操作一些word文档,记录一下学习思路
#-*- encoding: utf8 -*- import win32com from win32com.client import Dispatch, constants import win32com.client import __main__ import os import new import sys import re import string reload(sys) sys.setdefaultencoding('utf8') #from fileinput import filename class Word(object): #初始化word对象 def __init__(self, uri): self.objectword(uri) #创建word对象 def objectword(self,url): self.word = win32com.client.Dispatch('Word.Application') self.word.Visible = 0 self.word.DisplayAlerts = 0 self.docx = self.word.Documents.Open(url) self.wrange = self.docx.Range(0, 0) #关闭word def close(self): self.word.Documents.Close() self.word.Quit() #创建word def create(self): pass #在word中进行查找 def findword(self, key): question = [] uri = r'E:\XE\ctb.docx' self.objectword(uri) #读取所有的word文档内容 range = self.docx.Range(self.docx.Content.Start,self.docx.Content.End) question = str(range).split("&") #查找内容 #question = re.split(r"(\r[1][0-9][0-9]+.)",str(range)) #l = question[0].split("\d+.") for questionLine in question: questionLine = questionLine.strip('\n') l = re.split(r"([1][0-9][0-9]+.)",questionLine) del l[0] for t in l: s = str(key[0:3]) if str(t).find(s) > -1: #插入 g = string.join(l) print g.encode('gb2312') #print g.decode("") self.insertword(g) print "sss" else: print "ttt" #插入word def insertword(self,w): url = r'E:\XE\ctb.doc' self.objectword(url) self.wrange.InsertAfter(w) pass #读取数据源 def source(self, src): f = open(src) d = f.readlines() for l in d: name, question01, question02, question03, question04, question05 = tuple(l.decode('utf8').split('\t')) if question01 != u'全对': #self.wrange.InsertAfter(name) self.findword(question01) return self Word(r'E:\XE\xx.docx').source(r'E:\XE\xe.txt').close()
python 操作word文档的更多相关文章
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- python操作docx文档(转)
python操作docx文档 关于python操作docx格式文档,我用到了两个python包,一个便是python-docx包,另一个便是python-docx-template;,同时我也用到了很 ...
- Python之word文档替换字符串(也可以用于短模板套用)
Python之word文档替换字符串(也可以用于短模板套用),代码如下: 1 ''' 2 #word模板套用1:创建模板,适合比较短的文档 3 ''' 4 5 #导入所需库 6 from docx i ...
- iText操作word文档总结
操作word文档的工具有很多,除了iText之外还有POI,但是POI擅长的功能是操作excel,虽然也可以操作word,但是能力有限,而且还有很多的bug,技术并不成熟,下面就重点介绍一种操作wor ...
- C#操作Word文档(加密、解密、对应书签插入分页符)
原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
- Java文件操作系列[3]——使用jacob操作word文档
Java对word文档的操作需要通过第三方组件实现,例如jacob.iText.POI和java2word等.jacob组件的功能最强大,可以操作word,Excel等格式的文件.该组件调用的的是操作 ...
- 使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- Python之word文档模板套用 - 真正的模板格式套用
Python之word文档模板套用: 1 ''' 2 #word模板套用2:套用模板 3 ''' 4 5 #导入所需库 6 from docx import Document 7 ''' 8 #另存w ...
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
随机推荐
- 谷歌眼镜--UI指南
1>使用玻璃HTML模板 不是所有的内容都在几行文字来表达.有时候你需要结构化的内容发送到用户的时间轴,或者你需要控制对格式.为了适应这种情况,镜像API提供了一个 HTML 时间表的项目,接受 ...
- c语言分析函数调用关系图(call graph)的几种方法
一.基于 Doxygen或 lxr 的API形式的文档系统. 二.基于CodeViz, CodeViz是<Understanding The Linux Virtual Memory Manag ...
- C++11类型推导
[C++11类型推导] auto 关键字.这会依据该初始化子(initializer)的具体类型产生参数: 除此之外,decltype 能够被用来在编译期决定一个表示式的类型. 参考:http://z ...
- hdu 4289 Control(最小割 + 拆点)
http://acm.hdu.edu.cn/showproblem.php?pid=4289 Control Time Limit: 2000/1000 MS (Java/Others) Mem ...
- 巧解Tomcat中JVM内存溢出问题
你对Tomcat 的JVM内存溢出问题的解决方法是否了解,这里和大家分享一下,相信本文介绍一定会让你有所收获. tomcat 的JVM内存溢出问题的解决 最近在熟悉一个开发了有几年的项目,需要把数据库 ...
- HDU 4284Travel(状压DP)
HDU 4284 Travel 有N个城市,M条边和H个这个人(PP)必须要去的城市,在每个城市里他都必须要“打工”,打工需要花费Di,可以挣到Ci,每条边有一个花费,现在求PP可不可以从起点1 ...
- StructLayout特性
StructLayout特性 公共语言运行库利用 StructLayoutAttribute控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列.如果要将类传递 ...
- Kafka学习记录
1 Kafka的基本介绍 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.具有快速.可扩展.分布式.可复制等特点.Kafka与传 ...
- CSS line-height 和 vertical-align 精解(下篇)
申明本文转自:http://hi.baidu.com/wolongxzg/item/2383860ec8ac8b173a53eeb0 vertical-align 7.4.1 语法 vertical- ...
- Gartner:Hype Cycle for Emerging Technologies-2013
The “Hype Cycle for Emerging Technologies” report is the longest-running annual Hype Cycle, provid ...