python读取word文档的方法


Posted in Python onMay 09, 2015

本文实例讲述了python读取word文档的方法。分享给大家供大家参考。具体如下:

首先下载安装win32com

from win32com import client as wc
word = wc.Dispatch('Word.Application')
doc = word.Documents.Open('c:/test')
doc.SaveAs('c:/test.text', 2)
doc.Close()
word.Quit()

这种方式产生的text文档,不能用python用普通的r方式读取,为了让python可以用r方式读取,应当写成

doc.SaveAs('c:/test', 4)

注意:系统执行完成后,会自动产生文件后缀txt(虽然没有指明后缀)。
在xp系统下面,应当,

open(r'c:\text','r')
wdFormatDocument = 0
wdFormatDocument97 = 0
wdFormatDocumentDefault = 16
wdFormatDOSText = 4
wdFormatDOSTextLineBreaks = 5
wdFormatEncodedText = 7
wdFormatFilteredHTML = 10
wdFormatFlatXML = 19
wdFormatFlatXMLMacroEnabled = 20
wdFormatFlatXMLTemplate = 21
wdFormatFlatXMLTemplateMacroEnabled = 22
wdFormatHTML = 8
wdFormatPDF = 17
wdFormatRTF = 6
wdFormatTemplate = 1
wdFormatTemplate97 = 1
wdFormatText = 2
wdFormatTextLineBreaks = 3
wdFormatUnicodeText = 7
wdFormatWebArchive = 9
wdFormatXML = 11
wdFormatXMLDocument = 12
wdFormatXMLDocumentMacroEnabled = 13
wdFormatXMLTemplate = 14
wdFormatXMLTemplateMacroEnabled = 15
wdFormatXPS = 18

照着字面意思应该能对应到相应的文件格式,如果你是office 2003可能支持不了这么多格式。word文件转html有两种格式可选wdFormatHTML、wdFormatFilteredHTML(对应数字 8、10),区别是如果是wdFormatHTML格式的话,word文件里面的公式等ole对象将会存储成wmf格式,而选用 wdFormatFilteredHTML的话公式图片将存储为gif格式,而且目测可以看出用wdFormatFilteredHTML生成的HTML 明显比wdFormatHTML要干净许多。

当然你也可以用任意一种语言通过com来调用office API,比如PHP.

from win32com import client as wc
word = wc.Dispatch('Word.Application')
doc = word.Documents.Open(r'c:/test1.doc')
doc.SaveAs('c:/test1.text', 4)
doc.Close()
import re
strings=open(r'c:\test1.text','r').read()
result=re.findall('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)',strings)
chan=re.sub('\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)|\(\s*[A-D]\s*\)|\(\xa1*[A-D]\xa1*\)','()',strings)
question=open(r'c:\question','a+')
question.write(chan)
question.close()
answer=open(r'c:\answeronly','a+')
for i,a in enumerate(result):
 m=re.search('[A-D]',a)
 answer.write(str(i+1)+' '+m.group()+'\n')
answer.close()
chan=re.sub(r'\xa3\xa8\s*[A-D]\s*\xa3\xa9','()',strings)
#不要(),容易引起歧义。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
python中list列表的高级函数
May 17 Python
ubuntu17.4下为python和python3装上pip的方法
Jun 12 Python
对Python 数组的切片操作详解
Jul 02 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 Python
Python collections.defaultdict模块用法详解
Jun 18 Python
python中怎么表示空值
Jun 19 Python
Python安装Bs4的多种方法
Nov 28 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
python动态性强类型用法实例
May 09 #Python
Python functools模块学习总结
May 09 #Python
Python浅拷贝与深拷贝用法实例
May 09 #Python
九步学会Python装饰器
May 09 #Python
Python类属性与实例属性用法分析
May 09 #Python
python回调函数用法实例分析
May 09 #Python
python类和函数中使用静态变量的方法
May 09 #Python
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
深入理解vue-loader如何使用
2017/06/06 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
js实现列表按字母排序
2020/08/11 Javascript
12步教你理解Python装饰器
2016/02/25 Python
Python 串口读写的实现方法
2019/06/12 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
2018/03/07 HTML / CSS
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
法律专业实习鉴定
2013/12/22 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技