如何添加能够包含List的文档Property?(Spotfire 7.0),

时间:2017-01-21 05:40:06

标签: ironpython spotfire

我想用我的IronPython代码中的列表设置一个文档属性。但是,在添加新的Document Property时,我看不到可用的“List”类型。 唯一接近列表的是String类型 Example of a DXP that has what I want to achieve

但我无法编辑该属性以检查其添加方式。

1 个答案:

答案 0 :(得分:2)

在您的示例DXP中,这只是一个逗号分隔值的字符串。

在Python代码中执行此操作:

my_list = ['a', 'b', 'c']
delimiter = ","
Document.Properties["MyProp"] = delimiter.join(my_list)

print Document.Property("MyProp")
>>> 'a,b,c'

稍后,当您需要迭代该值时,您可以轻松地将其转换回列表:

my_prop = Document.Properties["MyProp"]
delimiter = ","

my_list = my_prop.split()

print my_list
>>> ['a', 'b', 'c']

最后一点注意事项:如果你的列表包含整数或除字符串以外的任何东西,你需要加入它有点不同,因为Python对类型很挑剔:

my_list = [1, 2, 3]
delimiter = ","

Document.Properties["MyProp"] = delimiter.join(str(i) for i in my_list)

print Document.Property("MyProp")
>>> '1, 2, 3'

您可以使用int()将其转换回整数列表:

my_prop = Document.Properties["MyProp"]
delimiter = ","

my_list = [int(i) for i in my_prop.split()]

print my_list
>>> [1, 2, 3]