NameError:使用 python-docx 时未定义名称“WD_COLOR_INDEX”
Posted
技术标签:
【中文标题】NameError:使用 python-docx 时未定义名称“WD_COLOR_INDEX”【英文标题】:NameError: name 'WD_COLOR_INDEX' is not defined while using python-docx 【发布时间】:2017-03-08 10:54:17 【问题描述】:我一直在尝试使用python-docx
(python-docx-0.8.6,python 2.7,32 位)在 MS Word 文档中查找突出显示颜色,并根据其突出显示颜色处理每段文本。
按照文档,我尝试导入/使用WD_COLOR_INDEX
,但似乎找不到它。
from docx.enum import *
if (doc.paragraphs[i].runs[j].font.highlight_color == WD_COLOR_INDEX.YELLOW):
#do the appropriate thing for the yellow-highlighted text
如何导入颜色索引?
【问题讨论】:
【参考方案1】:这个枚举与文本有关,所以可以在docx.enum.text
模块中找到:
from docx.enum.text import WD_COLOR_INDEX
它还有一个别名(为了更简洁的表达式),所以你可以使用它来代替:
from docx.enum.text import WD_COLOR
这使得每个引用更短,例如WD_COLOR.YELLOW
.
【讨论】:
谢谢。我可以问一个后续问题:我正在尝试将词性 (POS) 标记与每个单词/标记的文本的突出显示颜色(颜色实际上编码命名实体的类型)相关联。 POS 标记是使用 NLTK 的 POS 标记器提取的,而突出显示(谢天谢地)是使用 python-docx 提取的。困难在于标记器和标记器对文本的分割不同于与字体+高亮等相关的运行分割。获得对应关系的最佳方法是什么(例如,元组是:在 python 3.7 中
from docx.enum import *
from docx.enum.text import WD_COLOR_INDEX
if (doc.paragraphs[i].runs[j].font.highlight_color == WD_COLOR_INDEX.YELLOW):
#do the appropriate thing for the yellow-highlighted text
【讨论】:
以上是关于NameError:使用 python-docx 时未定义名称“WD_COLOR_INDEX”的主要内容,如果未能解决你的问题,请参考以下文章
Python如何操作word文档,Python-docx类库的使用