现在我有一个名为k = ['aaa bbb', 'ccc ddd', 'eee fff']
的列表。
我想通过word file
将列表k写入list bullet
中,并且我希望aaa bbb
(k [0])在word文件中为粗体。 k中其他元素的其余部分正常。
换句话说,我希望它显示为this 但是,无论如何尝试,结果都不会显示任何元素为粗体。
此外,是否可以仅将aaa
设为粗体。
就像this
我尝试过类似“粗体”,“字体”,“样式”的功能。 但是它们不起作用。
document = Document()
k = ['aaa bbb', 'ccc ddd', 'eee fff']
for i in range(len(k)):
if i ==1:
run = document.add_paragraph(k[i], style = "List Bullet")
run.bold = True
else:
run = document.add_paragraph(k[i], style = "List Bullet")
结果不是我期望的。 运行后,没有粗体字符。
答案 0 :(得分:1)
问题在于add_paragraph
返回的是段落引用,而不是运行。
不过,我发现只创建一个空的项目符号列表,然后add_run(string)
,每次bold = True
进行设置,更为方便。
如果我们还更改了解析行的逻辑(使用enumerate
还将当前行的索引也添加到您的k
列表中),则可以设置两个布尔变量make_only_first_word_bold
和{{ 1}}。
对于第一行,我们指定仅一行的第一个单词必须加粗,而对于第二行,我们指定是否仅需对列表的第一行加粗。
这导致我们有四种不同的组合:没有加粗,全部加粗,所有第一个单词都加粗和只有第一行的第一个单词加粗了。
make_only_first_line_bold