基于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 相关文章推荐
Django中实现一个高性能计数器(Counter)实例
Jul 09 Python
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python中基本的日期时间处理的学习教程
Oct 16 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
python 专题九 Mysql数据库编程基础知识
Mar 16 Python
python 为什么说eval要慎用
Mar 26 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
提高python代码运行效率的一些建议
Sep 29 Python
python 实现性别识别
Nov 21 Python
python基础之类属性和实例属性
Oct 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
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
Python实现简单的可逆加密程序实例
2015/03/05 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python网络编程之文件下载实例分析
2015/05/20 Python
python冒泡排序简单实现方法
2015/07/09 Python
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
Python下载网络小说实例代码
2018/02/03 Python
Python3多线程基础知识点
2019/02/19 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
意大利团购网站:Groupon意大利
2016/10/11 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
EJB timer的种类
2014/10/28 面试题
质量承诺书范文
2014/03/27 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android