我想用python创建一个XLSX文件。为此,我使用xlsxwriter。
在我的XLSX中,我想用write_rich_string方法突出显示文本的某些部分。
但是,我的字符串不是固定值。我想强调的部分可以随机放入其中。或者我可以突出显示文本的多个部分。
那么,我可以为write_rich_string的调用创建一个"参数列表"吗?制作这个的方法是什么?
例:
mystring = "I want this in [tag_1]yellow[/tag_1] and this in [tag_2]green[/tag_2]."
worksheet.write_rich_string('A1',
'I want this in',
yellow, 'yellow',
' and this is ',
green, 'green')
worksheet.write_rich_string('A1', my_list_of_parm)
如果我明白你在问什么......你有这样的列表:
my_list_of_parm = ['I want this in',
yellow, 'yellow',
' and this is ',
green, 'green']
你想把它作为一堆单独的参数传递给write_rich_string
(以及一个普通的参数)。
压缩参数列表下的教程中介绍了执行此操作的方法:只需将*
放在my_list_of_parm
之前,它将被解压缩到单独的参数中:
worksheet.write_rich_string('A1', *my_list_of_parm)
通常,如果要将列表(或其他可迭代对象)转换为单独的值,反之亦然,答案*
:
>>> def func(a, b, *args):
... print(args)
>>> func(1, 2, 3, 4, 5)
[3, 4, 5]
>>> a, b, *rest = [1, 2, 3, 4, 5]
>>> rest
[3, 4, 5]
>>> func(1, *rest)
[4, 5]
但是,对于您可以做什么和不能做什么的确切规则,您需要阅读文档。