2016-10-26 7 views
1

Я пытаюсь найти цвета выделения в документе MS Word, используя python-docx (python-docx-0.8.6, python 2.7, 32 bit) и процесс каждая часть текста основана на его цвет подсветки.NameError: имя 'WD_COLOR_INDEX' не определено при использовании python-docx

Следуя документации, я попытался импортировать/использовать 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 

Как импортировать индекс цвета?

ответ

2

Это перечисление относится к тексту, поэтому находится в docx.enum.text модуле:

from docx.enum.text import WD_COLOR_INDEX 

Он также имеет псевдоним (для более компактного выражения), так что вы можете использовать вместо этого:

from docx.enum.text import WD_COLOR 

Что делает каждую ссылку короче, например WD_COLOR.YELLOW.

+0

Спасибо. Могу ли я задать следующий вопрос: я пытаюсь связать тег части речи (POS) с выделенным цветом текста (цвет фактически кодирует тип именованного объекта) для каждого слова/токена. Тег POS извлекается, используя, скажем, тег POS NLTK, а выделение (к счастью) извлекается с помощью python-docx. Трудность заключается в том, что токенизатор и теггер разделяли текст по-разному от разворота, связанного с разметкой шрифта +, и т. Д. Что было бы лучшим способом получить соответствие (например, кортеж был бы: <слово/токен, POS-тег, подсветка-цвет> –

+0

@ HW Это действительно отдельный вопрос. Если вы разместите его и пометьте его «python-docx», я это увижу. – scanny