基于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深入学习之内存管理
Aug 31 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
python-str,list,set间的转换实例
Jun 27 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
Python发送邮件封装实现过程详解
May 09 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
AngularJS 多指令Scope问题的解决
2018/10/25 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Python中内置的日志模块logging用法详解
2016/07/12 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Python列表如何更新值
2020/05/27 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
中式餐厅创业计划书范文
2014/01/23 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
设计顾问服务计划书
2014/05/04 职场文书
产品生产计划书
2014/05/07 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
医生见习报告范文
2014/11/03 职场文书
保险内勤岗位职责
2015/04/13 职场文书
2015教师节通讯稿
2015/07/20 职场文书
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL