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 相关文章推荐
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python文本特征抽取与向量化算法学习
Dec 22 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
Python字符串的一些操作方法总结
Jun 10 Python
windows10下安装TensorFlow Object Detection API的步骤
Jun 13 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
python实现加密的方式总结
Jan 19 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 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 生成饼图 三维饼图
2009/09/28 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
php动态函数调用方法
2015/05/21 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
解决betterScroll在vue中存在图片时,出现拉不动的问题
2018/09/27 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
django输出html内容的实例
2018/05/27 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
pandas 时间格式转换的实现
2019/07/06 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Pytorch之Variable的用法
2019/12/31 Python
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
办公室综合文员岗位职责范本
2014/02/13 职场文书
银行服务感言
2014/03/01 职场文书
专科生就业求职信
2014/06/22 职场文书
设计师求职信
2014/07/01 职场文书
个人党性分析材料
2014/12/19 职场文书
工程部文员岗位职责
2015/02/04 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers