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 相关文章推荐
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Python语言的变量认识及操作方法
Feb 11 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 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安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
js判断是否是手机页面
2017/03/17 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
python中list循环语句用法实例
2014/11/10 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
用matplotlib画等高线图详解
2017/12/14 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
python生成并处理uuid的实现方式
2020/03/03 Python
解决python对齐错误的方法
2020/07/16 Python
Python加速程序运行的方法
2020/07/29 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
Linux如何命名文件--使用文件名时应注意
2014/05/29 面试题
this关键字的作用
2016/01/30 面试题
经销商培训邀请函
2014/01/21 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
校外活动方案
2014/08/28 职场文书
二手房购房协议书范本
2014/10/05 职场文书
财务检查整改报告
2014/11/06 职场文书
Nginx代理同域名前后端分离项目的完整步骤
2021/03/31 Servers
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
漫画《尖帽子的魔法工坊》宣布动画化
2022/04/06 日漫