Excel ファイルをロードし、その内容を既存のデータ ソースに追加するための IronPython スクリプトが動作しています。Excel ファイルをロードするとき、DataFlowBuilderをExpressionTransformationと共に使用して、列を 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 サポートに連絡する必要がありますか?