在 Python 中从 Word 文档 (.docx) 中提取突出显示的单词

2023-12-01

我正在处理一堆Word文档,其中有突出显示的文本(单词)(使用颜色代码,例如黄色、蓝色、灰色),现在我想提取与每种颜色相关的突出显示的单词。我正在用 Python 编程。这是我目前所做的:

打开word文档[python-docx][1]然后到达<w:r>包含文档中标记(单词)的标签。我使用了以下代码:

#!/usr/bin/env python2.6
# -*- coding: ascii -*-
from docx import *
document = opendocx('test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)
for word in words:
  print word

现在我陷入了检查每个单词是否有的部分<w:highlight>标记并从中提取颜色代码,以及它是否与内部的黄色打印文本匹配<w:t>标签。如果有人能指出我从解析的文件中提取单词,我将非常感激。


我以前从未与python-docx,但有帮助的是我在网上找到了一段突出显示的文本的 XML 结构的片段:

 <w:r>
    <w:rPr>
      <w:highlight w:val="yellow"/>
    </w:rPr>
    <w:t>text that is highlighted</w:t>
  </w:r>

从那里,想出这个相对简单:

from docx import *
document = opendocx(r'test.docx')
words = document.xpath('//w:r', namespaces=document.nsmap)

WPML_URI = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}"
tag_rPr = WPML_URI + 'rPr'
tag_highlight = WPML_URI + 'highlight'
tag_val = WPML_URI + 'val'

for word in words:
    for rPr in word.findall(tag_rPr):
        if rPr.find(tag_highlight).attrib[tag_val] == 'yellow':
            print word.find(tag_t).text
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中从 Word 文档 (.docx) 中提取突出显示的单词 的相关文章

  • Python 中的空填字游戏求解器

    我得到了一个包含填字游戏蓝图的矩阵 当然 它是空的 我们的目标是填补整个难题 这是 Checkio 的一项任务 我已经为此奋斗了相当长一段时间 根据我对复杂性的理解 这个问题没有完美的算法 不过 必须有最好的方法来做到这一点 对吧 我尝试了
  • Python:如何使用 f 字符串进行数学运算

    我正在尝试使用 python 3 6 的新 f 字符串功能编写自己的 99 瓶啤酒实现 但我被困住了 def ninety nine bottles for i in range 10 0 1 return f i bottles of b
  • 如何使用Python从pdf文件中删除页面?

    我有一些超过 500 页的 pdf 文件 但每个文件中只需要几页 有必要保留文档的标题页 我确切地知道程序应该删除的页数 如何使用安装在 MS Visual Studio 上的 Python 2 7 环境来完成此操作 尝试使用PyPDF2
  • 意外的缩进错误,但缩进看起来正确

    我一直在尝试运行此代码 但它引发了缩进错误 无论我尝试什么 结果都是一样的 如果我删除之前的缩进def str self 和代码的其余部分 它工作正常 但在输出时 它不显示问题 而是显示 问题对象 def str self Indentat
  • 是否有与 f 字符串语法等效的可调用函数?

    每个人都喜欢 Python 3 6 的新 f 字符串 In 33 foo blah bang In 34 bar blah In 35 f foo bar Out 35 bang 然而 虽然在功能上非常相似 但它们的语义并不完全相同str
  • Django - 403 Forbidden CSRF 验证失败

    我在 Django 中为我的网站提供了一个联系表单 当我在本地测试它时 它工作正常 但现在当我尝试 实时 提交我的联系表单时 它总是出现 403 禁止 CSRF 验证失败 view def contact request if reques
  • 为什么tcl/tkinter只支持BMP字符?

    我正在尝试在基于 tkinter 和 tcl 构建的 gui 中查询和显示 utf 8 编码字符 但是 我发现 tkinter 无法显示 4 字节字符 即大于 U FFFF 的 unicode 代码点 为什么会这样呢 实现非 BMP 字符对
  • 将 *.appspot.com 重定向到自定义域:Google 应用引擎 (Django)

    我直接将我的一些示例代码放在这里以获得更好的了解 url py r robots txt myapp views robots r myapp views home views py def home request my code ret
  • 允许 help() 对部分函数对象起作用

    我正在努力确保跑步help 在 Python 2 7 REPL 显示 doc 对于一个被包装的函数functools partial 目前正在运行help on a functools partial 功能 显示 doc of the fu
  • 忽略 NaN 的列表理解

    我正在尝试构建一个列表理解 其条件是不导入 nan 值 但运气不佳 以下是当前代码以及结果输出 什么条件会将 nan 从列表中删除 def generate labels filtered df columnName return labe
  • Scrapy规则如何与爬行蜘蛛一起工作

    我很难理解 scrapy 爬行蜘蛛规则 我有一个例子 它并不像我希望的那样工作 所以它可能是两件事 我不明白规则是如何运作的 我形成了不正确的正则表达式 导致我无法获得所需的结果 好吧 这就是我想做的 我想编写爬行蜘蛛 它将获取所有可用的统
  • lxml 属性需要完整的命名空间

    下面的代码使用 lxml python 3 3 从 Excel 2003 XML 工作簿中读取表格 该代码工作正常 但是为了通过 get 方法访问 Data 元素的 Type 属性 我需要使用键 urn schemas microsoft
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • PyCrypto:生成受 DES3 密码保护的 RSA 密钥

    我已经能够使用 DES3 创建受密码保护的 RSA 密钥 嗯 I think因为我对这个加密世界非常陌生 使用以下命令 openssl genrsa out tmp myKey pem passout pass f00bar des3 20
  • 如何为 matplotlib 中已绘制的线设置标签?

    在我的代码中我已经执行了 ax plot x y b 并且需要能够在事后设置相应行的标签 以达到与我相同的效果 ax plot x y b label lbl 有没有办法在 Matplotlib 中做到这一点 如果你抓住了line2D创建对
  • 从 Keras 检查点加载

    我正在 Keras 中训练一个模型 我使用以下代码保存了所有内容 filepath project model hdh5 checkpoint ModelCheckpoint project model hdf5 monitor loss
  • dump() 缺少 1 个必需的位置参数:python json 中的“fp”

    我正在尝试美化 json 格式 但收到此错误 import requests as tt from bs4 import BeautifulSoup import json get url tt get https in pinterest
  • 需要FTP文件而不存储解释器文件通过Python保存在本地

    我正在尝试做一些图像解释器并尝试将它们直接存储到 FTP 服务器 但我的步骤是从本地文件夹上传图像 然后将其转换为蒙版图像 然后它将获得最终输出 但是在我的蒙版和最终输出场景中 临时图像被保存在本地 这是我不想要的 但如果不将图像存储在本地
  • Bokeh 中的相关图问题

    当我通过绘制数据时rect 来自 Bokeh 我在可视化中得到了一条由水平块组成的单行 数据打印正确 据我所知格式正确 type 验证它们都是列表 谁能诊断这个吗 如果问题不在这里 那么我可以附加更多代码 如果需要 在 Ubuntu 14
  • python函数中的Return语句不返回任何内容[重复]

    这个问题在这里已经有答案了 我不明白退货和打印之间的区别 有人告诉我应该在函数语句中使用 return 但它不会返回任何内容 所以我一直在函数中使用 print 但我想了解为什么我的函数中的 return 语句不起作用 def triang

随机推荐

  • 角度轨道模板:找不到模板

    我有一个 Rails 应用程序 使用 AngularJS 进行客户端开发 我尝试加载位于 app assets javascripts templates 中的模板 myApp config routeProvider function r
  • 获取一个列表中不存在于另一个列表中的项目列表[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 有关您编写的代码的问题必须描述具体问题 and 包含有效代码重现它 在问题本身中 看SSCCE org以获得指导 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决
  • 错误:TABLE_QUERY 表达式无法查询 BigQuery 表

    这是关于乔丹在这里回答的后续问题 BigQuery 中的奇怪错误 我曾经在 Table Query 中查询参考表以退出一段时间 现在 根据乔拉丹提到的最近的变化 我们的许多查询都被破坏了 我想向社区征求我们正在做的事情的替代解决方案的建议
  • HtmlUnit 抛出内存不足并且可能泄漏内存

    我将 Selenium 与 HtmlUnitDriver 结合使用并启用了 javascript 但出现内存不足错误 我使用 Java 我只是浏览同一个页面 我只使用一个 GET 命令 克服这种情况的解决方案是什么 我也有类似的问题 它最终
  • 无法在 OSX 上安装 pyenchant

    我正在尝试为 enchant 库 pyenchant 安装 python 绑定 根据自述文件 它应该像运行一样简单python setup py install但是当我尝试这样做时 我收到此错误 OSError Errno 2 No suc
  • Delphi:以某种结构存储数据

    对于模拟程序 我正在 Delphi 2010 中工作 模拟不是问题 但我需要使用大量数据 这会产生问题 数据在 Excel 工作表中可用 因此无需在 Delphi 中编辑此数据 但从 Excel 工作表收集此数据大约需要 10 分钟 只要您
  • setCharacterAttributes 如何考虑 '\n' 和 '\t'?

    我正在学校项目中创建一个简单的 IDE 在其中我将整个程序作为单个字符串处理 例如 import java io npublic class A n 0 追踪所有 comments strings c haracters Documenta
  • 如何在 Angular 6 构建期间有条件地导入不同的文件?

    Overview 我有 Angular CLI 构建的 Angular 6 应用程序 应用程序是用多种语言编写的 每种语言都有 JSON 文件 其中包含所有应用程序文本的翻译 文件名是 language json e g en json e
  • Java 模式/匹配器

    这是一个sample text 1f 1e 1d 020028 我无法修改输入文本 我正在从文件中读取一长串文本 我想提取以下内容 1f 1e 1d 02 为此 我编写了以下正则表达式模式 a fA F0 9 我在用Pattern and
  • 如何在 Powershell 中显示成员中的所有项目而不使用“...”

    运行以下命令 Get ADUser
  • 计算时间顺序坐标之间的距离和速度

    我有一个包含位置的 csv latitude longitude 对于由id场 在给定时间 timestamp 我需要计算每个用户的一个点和连续点之间的距离和速度 例如 对于 ID 1 我需要找到点 1 和点 2 点 2 和点 3 点 3
  • C++ 中头文件和 cpp 文件的约定是什么?

    在 C 中 在 主 文件中包含类文件头的约定是什么 例如 myclass h class MyClass doSomething myclass cpp doSomething cout lt lt doing something run
  • With 函数 VBA 中的多对象表达式

    我的 Excel 电子表格中有一个按钮 我使用以下 VBA 移动该按钮的位置 Sub Positioning Button Set Range Position Sheet1 Range D9 E11 With Sheet1 Buttons
  • Perl 关闭管道没有错误

    我正在使用 Perl 执行外部程序 并且希望在运行时返回特定字符串时结束其执行 下面的代码根据需要中断执行 但是当执行最后一行 关闭 时会返回错误消息 open my out usfos memory
  • Android WebView 上的上下文菜单

    我想在整个 Android WebView 上添加一个上下文菜单 我有以下代码 registerForContextMenu findViewById R id webview public void onCreateContextMenu
  • 手动引导和覆盖配置中的角度服务的问题

    我试图通过覆盖服务来让我的角度应用程序在实时模式和原型模式下工作 作为其中的一部分 当在配置中打开原型模式时 我停止引导过程 加载模拟服务 js 文件并恢复引导 这是用于准备的源代码的简化列表demo App js 只是我的应用程序 它用于
  • JavaFX TreeView 为空

    我刚开始工作JavaFX 我正在尝试创建一个TreeView添加到Tab 当我添加TreeView to the Tab然而 它是空的 下面是创建 填充和添加的代码TreeView to the Tab public ResultView
  • 设置 MMDevice 波形格式

    我正在尝试使用以下代码设置用于录制音频设备 MMDevice 的 WaveFormat 我正在使用 NAudio Getting The WaveFormat for the device var value selectedRecordi
  • 如何在Python中向子列表添加元素?

    考虑列表中的列表 list1 element1 element2 subelement1 subelement2 子元素1可以通过索引 2 0 访问 print list1 2 0 但是 如果只能将两个参数传递给插入函数 如何在 2 x 位
  • 在 Python 中从 Word 文档 (.docx) 中提取突出显示的单词

    我正在处理一堆Word文档 其中有突出显示的文本 单词 使用颜色代码 例如黄色 蓝色 灰色 现在我想提取与每种颜色相关的突出显示的单词 我正在用 Python 编程 这是我目前所做的 打开word文档 python docx 1 然后到达