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 相关文章推荐
Python中的pprint折腾记
Jan 21 Python
Python使用CMD模块更优雅的运行脚本
May 11 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
Sep 18 Python
python基础教程项目四之新闻聚合
Apr 02 Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
python实点云分割k-means(sklearn)详解
May 28 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
python本地文件服务器实例教程
May 02 Python
Python何绘制带有背景色块的折线图
Apr 23 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
php gzip压缩输出的实现方法
2013/04/27 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
Python中操作MySQL入门实例
2015/02/08 Python
图文详解WinPE下安装Python
2016/05/17 Python
python3大文件解压和基本操作
2017/12/15 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
写出二分查找算法的两种实现
2013/05/13 面试题
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
计算机专业自荐信
2013/10/14 职场文书
自我鉴定怎么写
2014/01/12 职场文书
自我评价的范文
2014/02/02 职场文书
入党自我鉴定
2014/03/25 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python