如何为docx中的特定单词赋予颜色
How to give color to a particular word in docx
我见过很多这样的代码:
from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph().add_run('some text')
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')
但上面的代码对所有句子都应用了一种颜色,但我想对特定的词使用特定的颜色。如何实现?
例如:
sentence = [' I want a color for a particular word in this sentence not to this whole
sentence']
selected_words = ['want', 'particular', 'this'] #<----- any color to this words from
# above sentence!
我没有为我的查询找到任何代码,否则我可能会放一些我试过的代码。
请帮忙
您需要拆分并重新加入。我正在稍微修改您的示例:
sentence = 'I want a color for a particular word in this sentence not to this whole sentence'
selected_words = ['want', 'particular', 'this']
from docx import Document
from docx.shared import RGBColor
document = Document()
paragraph = document.add_paragraph()
sentence_split = sentence.split()
for x in sentence_split:
if x in selected_words:
run2 = paragraph.add_run(x)
red = RGBColor(255, 0, 0)
run2.font.color.rgb = red
else:
paragraph.add_run(x)
paragraph.add_run(" ")
我见过很多这样的代码:
from docx import Document
from docx.shared import RGBColor
document = Document()
run = document.add_paragraph().add_run('some text')
font = run.font
font.color.rgb = RGBColor(0x42, 0x24, 0xE9)
p=document.add_paragraph('aaa')
document.save('demo1.docx')
但上面的代码对所有句子都应用了一种颜色,但我想对特定的词使用特定的颜色。如何实现?
例如:
sentence = [' I want a color for a particular word in this sentence not to this whole
sentence']
selected_words = ['want', 'particular', 'this'] #<----- any color to this words from
# above sentence!
我没有为我的查询找到任何代码,否则我可能会放一些我试过的代码。 请帮忙
您需要拆分并重新加入。我正在稍微修改您的示例:
sentence = 'I want a color for a particular word in this sentence not to this whole sentence'
selected_words = ['want', 'particular', 'this']
from docx import Document
from docx.shared import RGBColor
document = Document()
paragraph = document.add_paragraph()
sentence_split = sentence.split()
for x in sentence_split:
if x in selected_words:
run2 = paragraph.add_run(x)
red = RGBColor(255, 0, 0)
run2.font.color.rgb = red
else:
paragraph.add_run(x)
paragraph.add_run(" ")