基于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实现线程池的方法
Jun 30 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
Python使用sorted排序的方法小结
Jul 28 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
python中必要的名词解释
Nov 20 Python
Python爬取YY评级分数并保存数据实现过程解析
Jun 01 Python
python中xlrd模块的使用详解
Feb 01 Python
python单例模式的应用场景实例讲解
Feb 24 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
php中如何防止表单的重复提交
2013/08/02 PHP
Web程序工作原理详解
2014/12/25 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
php验证手机号码
2015/11/11 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
2020/05/02 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
实例介绍Python中整型
2019/02/11 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
编辑找工作求职信分享
2014/01/03 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
大学生入党群众意见书
2015/06/02 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle