iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >docx2txt库怎么在Python中使用
  • 351
分享到

docx2txt库怎么在Python中使用

2023-06-07 17:06:31 351人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这期内容当中小编将会给大家带来有关docx2txt库怎么在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、web开发;2、数据科学研究

这期内容当中小编将会给大家带来有关docx2txt库怎么在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Python主要用来做什么

Python主要应用于:1、web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

安装

pip install docx2txt

运行

1、命令行运行

# extract textdocx2txt file.docx# extract text and imagesdocx2txt -i /tmp/img_dir file.docx

2、在python中调用

# extract textdocx2txt file.docx# extract text and imagesdocx2txt -i /tmp/img_dir file.docx

补充:python docx提取word中的目录及文本框中的文本

问题描述

python docx提取Word中的目录及文本框中的文本

解决方案

因未在docx库找到直接识别word中目录及文本框中文本的方法,所以采用了一个“笨”方法,docx库可以把word文档解析成xml格式,以解析xml的方式查找目录及文本框中文本,具体做法:

迭代出文档的所有element,其中目录的tag为“std”,找到它后提出他的所有文本即为目录文本;文本框的tag 为“textbox”,找到它后还要继续下钻寻找tag为 'r'的element,提取其文本则为文本框中文本。

# 提取word目录file = docx.Document(file_path)children = file.element.body.iter()child_iters = []for child in children: # 通过类型判断目录 if child.tag.endswith('main}sdt'):  for ci in child.iter():   if ci.text and ci.text.strip():    child_iters.append(ci)catalog = [ci.text for ci in child_iters]
# 提取word文本框中文本file = docx.Document(file_path)children = file.element.body.iter()child_iters = []for child in children: # 通过类型判断目录 if child.tag.endswith('textbox'):  for ci in child.iter():   if ci.tag.endswith('main}r'):    child_iters.append(ci)textbox = [ci.text for ci in child_iters]

文本域的标签,第一次找的是AlternateContent,后来发现对有些文本域失效;第二次又找到了pict,基本覆盖了测试的所有文本域;第三次把word文档的标签都找出来看了一下,发现textbox这个标签看着更靠谱,用它测试了一下,也能覆盖所有的测试文本域,决定就选择这个标签。

提取文本后,又有了新需求,提取的文本很多都不成句,呈短语或单词的形式,需要把提取的文本还原成段落形式:

file = docx.Document(file_path)children = file.element.body.iter()child_iters = []tags = []for child in children: # 通过类型判断目录 if child.tag.endswith(('AlternateContent','textbox')):  for ci in child.iter():   tags.append(ci.tag)   if ci.tag.endswith(('main}r', 'main}pPr')):    child_iters.append(ci)text = ['']for ci in child_iters : if ci.tag.endswith('main}pPr'):  text.append('') else:  text[-1] += ci.text ci.text = ''trans_text = ['***'+t+'***' for t in text]print(trans_text)i, k = 0, 0for ci in child_iters : if ci.tag.endswith('main}pPr'):  i += 1  k = 0 elif k == 0:  ci.text = trans_text[i]  k = 1file.save('E:test.docx')

上述就是小编为大家分享的docx2txt库怎么在Python中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网Python频道。

--结束END--

本文标题: docx2txt库怎么在Python中使用

本文链接: https://www.lsjlt.com/news/249787.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docx2txt库怎么在Python中使用
    这期内容当中小编将会给大家带来有关docx2txt库怎么在Python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究...
    99+
    2023-06-07
  • beautifulsoup库怎么在python中使用
    今天就跟大家聊聊有关beautifulsoup库怎么在python中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 BeautifulSoup库简介BeautifulSoup库在...
    99+
    2023-06-06
  • 怎么在Python中使用sqlalchemy库
    这期内容当中小编将会给大家带来有关怎么在Python中使用sqlalchemy库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-14
  • 怎么在python中使用chardet库
    本篇文章给大家分享的是有关怎么在python中使用chardet库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python是什么意思Python是一种跨平台的、具有解释性、编...
    99+
    2023-06-14
  • Faust库怎么在python中使用
    今天就跟大家聊聊有关 Faust库怎么在python中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言...
    99+
    2023-06-14
  • marshmallow库怎么在python中使用
    这篇文章将为大家详细讲解有关marshmallow库怎么在python中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python的数据类型有哪些python的数据类型:1. 数字类型,...
    99+
    2023-06-15
  • 怎么在python中使用pip安装matplotlib库
    本篇文章为大家展示了怎么在python中使用pip安装matplotlib库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先在python里安装pip,打开安装python的文件夹,找到pytho...
    99+
    2023-06-06
  • 怎么在python中使用 Faust流处理库
    怎么在python中使用 Faust流处理库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向...
    99+
    2023-06-14
  • Python中Math库怎么使用
    这篇文章主要讲解了“Python中Math库怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中Math库怎么使用”吧!Math 库概述math 库是 Python 提供的内...
    99+
    2023-07-06
  • python中zhon库怎么使用
    Zhon是一个Python库,用于提供中文字符集和标点符号的工具。以下是在Python中使用Zhon库的一些常见用法:1. 安装Zh...
    99+
    2023-08-30
    python
  • Python中requests库怎么使用
    这篇文章主要介绍了Python中requests库怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中requests库怎么使用文章都会有所收获,下面我们一起来看看吧。一、requests库re...
    99+
    2023-06-30
  • python中unittest库怎么使用
    unittest是Python中的一个单元测试框架,用于编写和运行测试。下面是使用unittest库的一些基本方法: 导入uni...
    99+
    2023-10-24
    python unittest
  • 怎么在Canvas中使用Fabric.js库
    今天就跟大家聊聊有关怎么在Canvas中使用Fabric.js库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简介什么是Fabric.jsFabric.js是一个可以简化Canvas...
    99+
    2023-06-09
  • Polars库如何在python中使用
    这期内容当中小编将会给大家带来有关Polars库如何在python中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几...
    99+
    2023-06-14
  • 如何在python中使用jieba库
    这篇文章将为大家详细讲解有关如何在python中使用jieba库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-07
  • 如何在python中使用matlab库
    这期内容当中小编将会给大家带来有关如何在python中使用matlab库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • 如何在Python中使用curses库
    本篇文章为大家展示了如何在Python中使用curses库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、Python内置了curses库,但是对于Windows 操作系统需要安装一个补丁以进行适...
    99+
    2023-06-15
  • urllib库如何在python中使用
    今天就跟大家聊聊有关urllib库如何在python中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、请求模块:urllib.requestpython2import urll...
    99+
    2023-06-14
  • 如何在python中使用gin库
    这篇文章将为大家详细讲解有关如何在python中使用gin库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;...
    99+
    2023-06-14
  • 如何在python中使用gensim库
    这篇文章给大家介绍如何在python中使用gensim库,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Pytho...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作