python解析word_word文档的python解析
主要两块,第一个是文件类型的转换,第二个是用docx包去对word文档中的table进行parse
1. 文件格式装换
因为很多各种各样的原因,至今还有一些word文档是doc的格式存的,对于这种,如果我们想用python对这个word文档中的内容进行解析的话,理论上必须要处理成docx先。
如果你刚好是个mac的用户,那你可以不用弄了,因为如果你用python+osx的系统,这个就是个无解的事情,可以考虑下用java之类的方式处理。但是幸运的是我找了一台机器是win系统的,然后我就处理了,代码如下:
importosfrom win32com importclientdefdoc_to_docx(path):if os.path.splitext(path)[1] == ".doc":
word= client.Dispatch('Word.Application')
doc= word.Documents.Open(path) #目标路径下的文件
doc.SaveAs(os.path.splitext(path)[0] + ".docx", 16) #转化后路径下的文件
doc.Close()
word.Quit()def find_file(path, ext, file_list=[]):
dir=os.listdir(path)for i indir:
i=os.path.join(path, i)ifos.path.isdir(i):
find_file(i, ext, file_list)else:if ext == os.path.splitext(i)[1]:
file_list.append(i)returnfile_listif __name__ == "__main__":
dir_path= "E:\yschen3\pyprogram\线下二维码活动"ext= ".doc"file_list=find_file(dir_path, ext)for file infile_list:
doc_to_docx(file)print(file)
大概就是这样,用了个win32com这个包,非常容易,接下来,我们就可以用python-docx来处理了
2. 表格的处理
这里python有个包教python-dox,就是专门做这个事情的,他可以对段落,表格进行解析和处理。大概说下逻辑
1. 会读出所有的表格
2. 然后对表格里面的行,一行一行的读
3. 真对一行,就是一个格子一个格子的读
这里对于合并处理的单元格,默认的逻辑是,分成两个,写出相同的内容,保持表格维度的一致性,当然这里可以看你的需求,你可以在读取的过程中,做一次简单的去重过滤。
这里代码在这里:
importosfrom win32com importclientdefdoc_to_docx(path):if os.path.splitext(path)[1] == ".doc":
word= client.Dispatch('Word.Application')
doc= word.Documents.Open(path) #目标路径下的文件
doc.SaveAs(os.path.splitext(path)[0] + ".docx", 16) #转化后路径下的文件
doc.Close()
word.Quit()def find_file(path, ext, file_list=[]):
dir=os.listdir(path)for i indir:
i=os.path.join(path, i)ifos.path.isdir(i):
find_file(i, ext, file_list)else:if ext == os.path.splitext(i)[1]:
file_list.append(i)returnfile_listif __name__ == "__main__":
dir_path= "E:\yschen3\pyprogram\线下二维码活动"ext= ".doc"file_list=find_file(dir_path, ext)for file infile_list:
doc_to_docx(file)print(file)
python解析word_word文档的python解析相关推荐
- python书籍pdf文档密码-Python玩转PDF的各种骚操作
Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换.尽管PDF最初是由Adobe发明的,但它现在是由国际标准化组织(ISO ...
- python怎么处理文档_7.python文件的处理方式
一.文件操作方式 1.打开操作 open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True, ...
- Python爬虫 —— 使用BeautifulSoup4解析HTML文档
Python爬虫 -- 使用BeautifulSoup4解析HTML文档 目录 Python爬虫 -- 使用BeautifulSoup4解析HTML文档 1.BeautifulSoup4简介 1.1 ...
- C#解析Markdown文档,实现替换图片链接操作
前言 又是好久没写博客了 其实也不是没写,是最近在「做一个博客」,从2月21日开始,大概一个多星期的时间,疯狂刷进度,边写代码边写了一整系列的博客开发笔记,目前为止已经写了16篇了,然后上3月之后工作 ...
- Dom4j 解析Xml文档及 XPath查询 学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" ...
- python使用微信设置-微信 python 接口 -- itchat 文档
itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...
- python——读取docx文档wordcloud生成词云并进行词频统计
文章目录 环境准备 导入库 读取docx并进行分词 词频 词云 设置背景图片(可选) 生成词云 保存词云并显示 环境准备 # 不是docx,是python-docx!!!!!!! pip instal ...
- 用Python提取解析pdf文档中内容
用Python提取解析pdf文档中内容 文章目录: 参考: 1.https://blog.csdn.net/tmaczt/article/details/82876018 # Tika库 2.http ...
- python下载图片到文件夹_python实现解析markdown文档中的图片,并且保存到本地~
背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...
最新文章
- Android中获取系统语言(适用于Android7.0以上系统)
- 软件测试白皮书-判定表法
- 非常有用的并发控制-循环栅栏CyclicBarrier
- Eclipse: select at least one project
- 【算法系列之十三】二叉树两叶节点的最大距离
- Android笔记 theme主题
- yolo之---非极大值抑制
- 阿里云自带的mysql_阿里云自带mysql
- ExtJS学习之EditorGridPanel
- AE2022 for Mac安装包+安装教程
- 常见基础注入类型-SQL注入-web安全
- .Net Core快速开发平台源码 敏捷开发框架OA系统 CRM快速开发框架
- 快消品企业营销费用管理的困惑
- Teamcenter服务器未响应,TeamCenter9.1常见问题.pdf
- js中时间戳转化为具体的年月日
- 高/低压供配电系统设计——安科瑞变电站电力监控系统的应用
- Linux开源镜像地址下载
- Islands and bridges
- TensorFlow.js 和 Node-RED 图像识别应用程序
- 探究MaxxBass音效