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实现socket客户端和服务端简单示例
Feb 24 Python
用Python编程实现语音控制电脑
Apr 01 Python
跟老齐学Python之有容乃大的list(1)
Sep 14 Python
python多重继承实例
Oct 11 Python
用Python编写web API的教程
Apr 30 Python
python动态参数用法实例分析
May 25 Python
python装饰器初探(推荐)
Jul 21 Python
Python实现的手机号归属地相关信息查询功能示例
Jun 08 Python
python requests 使用快速入门
Aug 31 Python
浅谈python中列表、字符串、字典的常用操作
Sep 19 Python
Python实现的多进程和多线程功能示例
May 29 Python
Python Scapy随心所欲研究TCP协议栈
Nov 20 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
dedecms中常见问题修改方法总结
2007/03/21 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
通过Pandas读取大文件的实例
2018/06/07 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
详解python持久化文件读写
2019/04/06 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python模块 _winreg操作注册表
2020/02/05 Python
基于Python数据分析之pandas统计分析
2020/03/03 Python
基于CSS3实现的几个小loading效果
2018/09/27 HTML / CSS
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
成品仓库管理员岗位职责
2015/04/09 职场文书
六年级作文之自救
2019/12/19 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android