1

我有一个可用的 IronPython 脚本,用于加载 Excel 文件并将其内容添加到现有数据源。加载 Excel 文件时,我使用带有ExpressionTransformation的DataFlowBuilder来执行一些数据转换,例如将列从 Int 转换为 Real。

除非列名包含方括号,否则此方法有效 - 每当我尝试使用包含方括号的名称时,我都会收到“System.ArgumentException: Not a valid expression: Cast([Process Time [h]] as Real)”异常(其中“ Process Time [h] ”(不带引号)是 Excel 列的名称)。

代码

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 支持吗?

4

1 回答 1

3

Cast([Process Time [h]]] as Real)应该管用。[注意和的不平衡数]

于 2014-09-30T15:16:47.310 回答