基于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实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
对python中Json与object转化的方法详解
Dec 31 Python
django2.0扩展用户字段示例
Feb 13 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
Nov 25 Python
基于pygame实现童年掌机打砖块游戏
Feb 25 Python
Django 再谈一谈json序列化
Mar 16 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
Python二元算术运算常用方法解析
Sep 15 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 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
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
PHP开发注意事项总结
2015/02/04 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
JavaScript面象对象设计
2008/04/28 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
python的pip安装以及使用教程
2018/09/18 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Python使用re模块验证危险字符
2020/05/21 Python
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
Ajxa常见问题都有哪些
2014/03/26 面试题
小车司机岗位职责
2013/11/25 职场文书
演讲比赛策划方案
2014/06/11 职场文书
民事授权委托书范文
2014/08/02 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
MySQL添加索引特点及优化问题
2022/07/23 MySQL