目录
前言Python 读取 Word 文档安装 python-docx库前言
Word
文档 (.docx
) 是另一种主要用于存储文本的常见文档。它们通常由Microsoft Office
创建和编辑,但也可以使用其他工具生成兼容文件。它们通常是共享可编辑文件的最常见格式,同时在分发文档时也非常常见。
Python 读取 Word 文档
安装 python-docx库
在本节中,我们将学习如何使用Python
从Word
文档中提取文本信息。我们主要使用python-docx
库来读取和处理Word
文档,其安装方法与其它第三方库完全相同:
$ pip install python-docx
首先,导入python-docx
库:
(资料图片仅供参考)
>>> import docx
打开document_1.docx
文件:
>>> doc = docx.Document("document_1.docx")
检查存储在core_properties
中的元数据属性,需要访问core_properties
属性。这些属性是为Word
定义的文档元数据属性,例如作者或创建日期。但并非所有文档都具有这些元数据信息,因为许多生成Word
文档的工具不一定会填充这些属性:
>>> doc.core_properties.title "Research Overview of Adversarial Attacks and Defenses on Graphs" >>> doc.core_properties.keywords "Abstract" >>> doc.core_properties.modified datetime.datetime(2020, 8, 1, 3, 11)
Word
文档中最重要的特点是数据以段落(而不是页)的形式结构化。字体大小、段落缩进和其他因素都可能会使页数发生变化。检查段落数:
>>> len(doc.paragraphs) 28
浏览段落以检测包含文本的段落,大多数段落通常是空的,或者只包含换行符、制表符或其他空白字符,检查段落时我们通常跳过这些空段落:
>>> for index, paragraph in enumerate(doc.paragraphs): ... if paragraph.text: ... print(index, paragraph.text)= ... 0 图对抗攻防综述 1 摘 要: 3 关键字: 5 Research Overview of Adversarial Attacks and Defenses on Graphs 6 Abstract 7 Deep neural networks (DNNs) have been widely applied to various applications, including image classification, ... 8 ... ... 27 参考文献
可以利用paragraphs
属性获取文档段落列表并提取原始格式的文本,这些文本不包括样式信息,通常是自动处理数据时最常用的属性。获取第5
段和第6
段的文本,分别对应第一页的标题和副标题:
>>> doc.paragraphs[5].text "Research Overview of Adversarial Attacks and Defenses on Graphs" >>> doc.paragraphs[6].text "Abstract "
每个段落都有一个runs
属性,这是具有不同样式属性的文本分割列表。检查不同文本段落是否为粗体或斜体:
>>> doc.paragraphs[5].runs[0].bold True >>> doc.paragraphs[5].runs[0].italic >>> doc.paragraphs[6].runs[0].bold >>> doc.paragraphs[6].runs[0].italic True
在示例Word
文档中,大多数段落只有一个run
(即每个段落使用相同的样式),但我们在第7
段中文本具有许多不同的样式。例如,Deep neural networks
使用粗体样式,DNNs
使用斜体样式:
>>> run_0 = doc.paragraphs[7].runs[0] >>> run_0.text "Deep neural networks" >>> run_0.bold True >>> run_13 = doc.paragraphs[7].runs[13] >>> run_13.text "DNNs" >>> run_13.italic True
到此这篇关于Python 读取 Word 文档操作的文章就介绍到这了,更多相关Python 读取 Word 文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 2现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 3如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 4AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 5转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 6充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 7好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 8名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 9亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 10京东绿色建材线上平台上线 新增用户70%来自下沉市场