如何用Python获取docx文件中加粗或高亮的文本?
提取DOCX文档中加粗或高亮文本的解决方案
- 要同时提取加粗或高亮的文本,需使用
python-docx中字体高亮颜色属性:run.font.highlight_color,而非highlighted或highlight。 - 高亮颜色需与
docx.enum.text.WD_COLOR_INDEX中的枚举值匹配,常见的黄色高亮对应WD_COLOR_INDEX.YELLOW。
修改后的代码如下:
import docx from docx.enum.text import WD_COLOR_INDEX answers = [] def addAnswer(filename): global answers doc = docx.Document(filename) for paragraph in doc.paragraphs: for run in paragraph.runs: # 判断条件:文本加粗 或 文本被高亮(这里以黄色为例,可根据实际调整) if run.bold or (run.font.highlight_color == WD_COLOR_INDEX.YELLOW): answers.append("ANSWER: " + run.text[0].upper())
关键说明:
- 需导入
WD_COLOR_INDEX枚举类来指定高亮颜色,若要匹配所有高亮颜色,可判断run.font.highlight_color is not None。 - 不同版本的Word文档可能使用不同的高亮颜色值,可根据实际需求调整判断条件。
内容的提问来源于stack exchange,提问作者Andressance
相关产品推荐
相关产品推荐

