我有一个有效的IronPython脚本,用于加载Excel文件并将其内容添加到现有数据源。加载Excel文件时,我使用带有 ExpressionTransformation 的 DataFlowBuilder 来执行某些数据转换,例如将列从Int转换为Real。
除非列名包含方括号,否则每当我尝试使用包含方括号的名称时,我得到" System.ArgumentException:不是有效的表达式:Cast([Process Time [h] ]] as Real)" 例外(其中" 处理时间[h] "(不带引号)是Excel列的名称)。
CODE
transformation = ExpressionTransformation()
transformation.ColumnReplacements.Add(
"Process Time [h]",
"Cast([Process Time [h]] as Real)",
ColumnSelection([DataColumnSignature("Process Time [h]", DataType.Integer)])
)
我尝试过的事情
"Cast([\"Process Time [h]\"] as Real)"
"Cast(['Process Time [h]'] as Real)"
\
"Cast([Process Time \[h\]] as Real)"
\\
"Cast([Process Time \\[h\\]] as Real)"
有什么想法吗?或者我应该联系Tibco Spotfire支持吗?
答案 0 :(得分:2)
Cast([Process Time [h]]] as Real)
应该有效。请注意[
和]
的不平衡数量。