基于Python获取docx/doc文件内容代码解析


Posted in Python onFebruary 17, 2020

这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

整体思路:

下载文件并修改后缀为zip文件,解压zip文件,所要获取的内容在固定的文件夹下:work/temp/word/document.xml

所用包,全部是python自带,不需要额外下载安装.

# encoding:utf-8
import os
import re
import requests
import zipfile
import xml.dom.minidom

newfile = 'test.docx'


def create(newfile):
  """下载docx文件,并修改后缀为zip"""
  res = requests.get('https://www.cqjbfy.gov.cn/publiccenter/splc/mb/splc_gginfo.asp?newsid=28949')

  if not os.path.exists(newfile):
    f = open(newfile, 'wb')
    for chunk in res.iter_content(100000):
      f.write(chunk)
    f.close()

  os.rename(newfile, 'test.zip')  这种方法发现只能解决一部分doc文件,具体原因不得而知,有明白的欢迎留言
  # 将doc/docx文件压缩成zip文件
  #pf = zipfile.ZipFile('test.zip', 'w', zipfile.ZIP_STORED) 
  #pf.write(newfile)

def get_txt():
  """解压zip,并在work/temp/word/document.xml获取文本内容,进行正则替换标签等操作"""
  f = zipfile.ZipFile('test.zip', 'r')
  for file in f.namelist():
    f.extract(file, "temp/")
  
  f = xml.dom.minidom.parse('./temp/word/document.xml')
  
  txt = re.sub(r'</w:t></w:r></w:p>', '\n', f.toxml())
  print re.sub(r'<.*?>', '', txt)

if __name__ == '__main__':
  create(newfile)
  get_txt()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的Discuz7.2版faq.php注入漏洞工具
Aug 06 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python enumerate索引迭代代码解析
Jan 19 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
Python多线程原理与用法实例剖析
Jan 22 Python
在Python中使用Neo4j的方法
Mar 14 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Python多线程获取返回值代码实例
Feb 17 #Python
Python实现ATM系统
Feb 17 #Python
python设置环境变量的作用整理
Feb 17 #Python
python数据爬下来保存的位置
Feb 17 #Python
使用TFRecord存取多个数据案例
Feb 17 #Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 #Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 #Python
You might like
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
微信小程序实现菜单左右联动
2020/05/19 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
解决python打开https出现certificate verify failed的问题
2020/09/03 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
学校经典推荐信
2013/10/30 职场文书
理工大学毕业生自荐信
2013/11/01 职场文书
企业门卫岗位职责
2013/12/12 职场文书
家佳咖啡店创业计划书
2013/12/27 职场文书
小学生植树节活动总结
2014/07/04 职场文书