2017-01-21 4 views
0

Ich möchte eine Dokumenteigenschaft mit einer Liste festlegen, die ich aus meinem IronPython-Code habe. Beim Hinzufügen einer neuen Dokumenteigenschaft wird jedoch kein Typ "Liste" angezeigt. Die nur in der Nähe Liste ist String-Typ Example of a DXP that has what I want to achieveWie kann ich eine Dokumenteigenschaft hinzufügen, die eine Liste enthalten kann (Spotfire 7.0),

Aber ich bin nicht in der Lage diese Eigenschaft zu bearbeiten, um zu überprüfen, wie es hinzugefügt wurde.

Antwort

1

in Ihrem Beispiel DXP, dies ist nur eine Zeichenfolge mit kommagetrennten Werten.

dies in Ihrem Python-Code zu tun:

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

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

später, wenn Sie auf den Wert wiederholen müssen, können Sie es leicht in eine Liste konvertieren zurück:

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

my_list = my_prop.split() 

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

Eine letzte Anmerkung: Wenn Ihre Liste Integer oder etwas anderes als Strings enthält, müssen Sie ein wenig anders beitreten, da Python wählerisch über Typen ist:

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' 

Sie es zurück auf eine ganze Zahl Liste mit int() umwandeln kann:

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

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

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

Ok danke für diese Informationen. Ich werde testen und Sie wissen lassen, wie es geht –

Verwandte Themen