基于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实现获取某天是某个月中的第几周
Feb 11 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
python+opencv实现动态物体识别
Jan 09 Python
Python遍历pandas数据方法总结
Feb 09 Python
Python 继承,重写,super()调用父类方法操作示例
Sep 29 Python
python3中rank函数的用法
Nov 27 Python
Python partial函数原理及用法解析
Dec 11 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
Feb 20 Python
python 读取.nii格式图像实例
Jul 01 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
Nov 09 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 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中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
JS 统计时间
2021/03/09 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
Bootstrap基础学习
2015/06/16 Javascript
6种javascript显示当前系统时间代码
2015/12/01 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
Vue2.0实现组件数据的双向绑定问题
2018/03/06 Javascript
vue接口请求加密实例
2020/08/11 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
Python xlwt模块使用代码实例
2020/06/10 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
TripAdvisor印尼站:全球领先的旅游网站
2018/03/15 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
高中生的学习总结自我鉴定
2013/10/26 职场文书
保险公司年会主持词
2014/03/22 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
企业2014年度工作总结
2014/12/10 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
公司财务管理制度
2015/08/04 职场文书
图解上海144收音机
2021/04/22 无线电
如何在C++中调用Python
2021/05/21 Python